프로그래밍 QnA

closeyes의 이미지

gnu c library 레퍼런스 어디서 볼수 있을까요?(도저히 못찾겠네

혼자힘으로 찾으려고 며칠동안을 헤매며 돌아다녔건만 어딨는지 모르겠네요

라이브러리안의 함수에대한 간략한 설명이 있는 문서같은거 없나요?

supersky의 이미지

Xeon에서 gcc최적 컴파일 Option이 먼가요?

안녕하세요... 김성태입니다.

컴파일 하다가 이런저런 Option으로 했는데요 실험하면서 쭉 했죠
과연 Xeon에서 최적Option이 무엇일까?

저는 아래의 CPU DUal을 쓰고 있습니다. HT라 4개로 나오더군요.
Intel(R) Xeon(TM) CPU 2.40GHz

gcc -Wall -O3 -mcpu=pentium4 -march=pentium4 -mpentiumpro -c aaaa.c

위와 같이 컴파일 했거든요.... 정말 궁금해서 질문 드리는것이니 답변 부탁합니다.

Xeon에서 gcc최적 컴파일 & 링크 옵션이 궁금합니다.

감사합니다.

pynoos의 이미지

HPUX에서 g++ 3.3.1 과 ld 문제

#include <iostream.h>

int main()
{
        cout << "Hello?" << endl;
        return 0 ;
}

이런 코드조차..

$ g++ a.cc
/usr/ccs/bin/ld: Unrecognized argument: +init
/usr/ccs/bin/ld: Usage:  /usr/ccs/bin/ld [options] [flags] files
collect2: ld returned 1 exit status

이렇게 나오는데... 문제 있는거 아닌가요?

uname -a
HP-UX hpux B.11.11 U 9000/800 135221790 unlimited-user license

이며,

$ g++ --version
g++ (GCC) 3.3.1
Copyright (C) 2003 Free Software Foundation, Inc.

jiphyunjeon의 이미지

sed awk 질문

안녕하세요.
여기 와서 많은 도움을 받았습니다.
고수님이 너무 많은거 같아요.

이번에 질문할 내용
0002.0015.72e8 => 00:02:00:15:72:e8 변경이 되었으면 좋겠습니다.
아래처럼 치면 그아래와 같은 결과가 나왔으면 좋겠습니다.

/home/yeddd $ macs 0002.0015.72e8
00:02:00:15:72:e8

sed 나 awk 를 쓰면 아주 간단하게 되던데...

좀 수고스럽지만 설명을 함께 설명 해주시면 더욱 감사하겠습니다.

이 글을 읽은 분들에게 행운과 건강이 함께하길

그럼

kkojiband의 이미지

UDP 소켓 임시 포트로 열어서 사용하려는데요...?

예를 들어서,

UDP 를 사용해서 여러 클라이언트 프로그램에 메세지를 보내는 프로그램을 만든다고 할때요,

한 컴퓨터 내에서 여러 클라이언트를 사용하기 위해 임시 포트를 바인드 시켜주는 방식으로 하려고 합니다...

근데 클라이언트 마다 다른 고정 포트를 지정해줘서 사용을 하면 잘 되는데, 위와 같이 임시 포트를 바인드 시켜준 뒤, netstat 에서 포트 번호 확인해서 그 포트들로 메세지를 뿌려주면 메세지가 안갑니다...

스티븐슨씨 책도 보고 있는데, 당췌 왜 안되는지를 모르겠습니다...

하하의 이미지

fcntl 관련 질문입니다.

fcntl 함수 옵션 중

file descripter flag로 F_SETFD, F_GETFD 가 있습니다.

man page를 보면

Quote:

F_GETFD close-on-exec를 읽는다. 만일 FD_CLOEXEC 비트가 0이면, 파일은 exec 를 통해 열린 상태로 남겨지고, 그렇지
않으면, 닫힌다.

F_SETFD close-on-exec 플래그를 .IR arg의 FD_CLOEXEC 비트에 의해 지정된 값으로 설정한다.

이렇게 써있습니다.

제가 이해 하길.

fcntl(fd, F_SETFD, 0);

이렇게 주면 위 fd를 부모 프로세스가 execl 했을 때의 자식프로세스에 오픈 된 상태로

ymkim00의 이미지

소켓통신에서..

소켓통신을 하는데 문제가 있어 질문을 드립니다.
고수님들의 도움이 필요합니다..^^

    unsigned char ret_buffer[52];
    unsigned int len = sizeof(ret_buffer);
    int result,i;

    if(sockfd == -1) 
    {
    }
    else
    {
	    result = send(sockfd,ret_buffer, len, 0);
	    if(result < 0) sock_init = 1;
    }
    

간단하게 이렇게 구성을 했을때..
ret_buffer배열 중간에 NUL이 존재합니다. 그러다 보니..
NUL이후의 데이터들은 전송이 안됩니다.

gauri123의 이미지

리눅스에서 옛날 도스의 M과 같은 프로그램을 만들때...

파일을 실행시키기 위해서는 execlp()를 실행시켜야 하는데..

execlp를 실행시킨 후에 프로그램이 종료 되지 않고

원래의 M화면으로 돌아올수 있게 하려면 어떻게 해야 하는지 알 고 싶습니다.

제 지식으로는 알수가 없군요

ddedde의 이미지

여러개의 쓰레드를 돌리니 성능이 나빠졌어요.

제가 짜고 있는 프로그램은 메인 프로그램에 3개의 쓰레드가 도는 C++ 프로그램입니다.
우선 semaphore를 이용해서 각 쓰레드에 우선순위를 두어 한 쓰레드가 한 싸이클을 돌고난 다음에야 다른 쓰레드가 실행이 될 수 있는 형태로 실험을 했습니다.
그런데, 이번에는 semaphore를 없애고 쓰레드간의 스케쥴링을 프로세서에게 맡기니 성능이 더 좋아졌습니다.
But, 다른 컴퓨터로 실험환경을 바꾸어, semaphore를 쓰지 않으니 성능이 들쑥날쑥이었습니다. semaphore를 사용해서 각 쓰레드들이 한번에 하나씩만 돌게 하니까 성능이 제대로 나오고요..

sinovercos의 이미지

[질문] 배열에 data를 입력하는 방법

안녕하세요.

C code에서
char 형의 배열에는 다음과 같이 내용을 입력할 수도 있습니다.

char *char_array;
char_array="abcd";

두번째 줄에서 {'a','b','c','d'}의 배열이 메모리에 할당되고 배열의 처음 주소가 char_array에 저장됩니다. 이를 다르게 보면, "abcd"의 ""에 의해서 배열의 메모리가 할당되고, 거기에 data가 저장되며, "" 자체는 배열의 처음 주소를 나타내게 됩니다. 참 편리한 기능인 것 같습니다.

int나 float 형에 대해서도 이와 유사한 방법이 있으면 좋겠습니다. 제가 이런 생각을 하는 것은 c code에 좌표나 벡터 같은 다차원의 수를 사용하고 싶기 때문입니다. 예를 들어,

페이지

프로그래밍 QnA 구독하기