프로그래밍 QnA

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에 좌표나 벡터 같은 다차원의 수를 사용하고 싶기 때문입니다. 예를 들어,

koreavisual의 이미지

특정 IP로만 접속할수 있는 방법?

안녕하세요...

Client 프로그램을 돌릴 서버의 아이피가 192.168.0.70, 203.236.31.24로 두개의 아이피가 설정되어 있습니다.

제가 203.236.31.24로만 서버에 접속 할 수있는 방법이 있나요?
connetc할때는 두개의 IP를 임의로 선택해서 접속을 하게 되거든요

방법이 있으면 알려주세요..

thisnome의 이미지

C와 Oracle을 연동할때 Data길이를 어떻게 정하는지..

C -> Pro*C -> Oracle data
위에서 처럼 연동을 하게 되는데요..

문제는..
Data값의 최대 길이가 문자열로 16바이트라고 한다면, Oracle에서는 16자리로 넣고 (varchar2 (16)), C에서는 문자열 마지막의 Null을 포함해서 char[17] 로 잡을텐데, 중간 어디쯤에서 그걸 16으로 바꿔줄지가 의문입니다.

Pro*C에서
[code:1]
char c_data[17]; /* c로부터 입력받은 data */

EXEC SQL BEGIN DECLARE SECTION;
VARCHAR proc_data[16];
EXEC SQL END DECLARE SECTION;

strncpy((char *) proc_data.arr, c_data, 16);

jjasook의 이미지

[질문] X라이브러리 사용시 메모리 문제 ~~~

-lXm -lXt -lX11

다름이 아니라, 아래돠 같이 X 라이브러리를 사용을 해서
GUI화면을 구성합니다.

그런데, 문제는 이 소스가 유닉스 sun5.6에서는 문제없이 잘 실행이 되는데,
유닉스 sun5.8에서는 core를 발생합니다.

아래의 소스에서 보시는 바와 같이 주석처리한 부분에서,
core가 발생됩니다.
사이사이에, printf 문을 추가하게 되면,
어떨때에는 문제없이 실행이 되기도 하고, 아니면 불규칙적인 위치까지
print문을 찍다가 core를 발생시키기도 합니다.

페이지

프로그래밍 QnA 구독하기