프로그래밍 QnA

inootis의 이미지

memcpy와 strncpy의 차이?

여짓껏 c프로그래밍을 공부하면서 이둘의 차이를 아직도 모르겠네요.

그래서 저는 아무생각없이 memcpy만을 사용하는데..왠지...strncpy가..측은해 보여요 :(

정확하게...

memcpy는 이래이래 좋아서..이럴때 사용하고..
strncpy는 이래이래 좋아서..이럴때 사용한다...

라고 다른 사람에게 말할수 있을정도로 알고 싶어요. :)

jee89의 이미지

c++ 코드...

#include <iostream>

class CBase
{
   int count;
   public:
   CBase(int i = 0 ):count(i) {}
   ~CBase() { cout << "Destructor" << endl;}
};

CBase func( CBase base )
{
     return CBase;
}

int main()
{
   CBase obj;
   func( obj );
}

이상을 레드햇리눅스에서 실행하면
Destructor 가 4번이 찍힙니다.
그런데, 유닉스에서 실행하면 3번이 찍힙니다.
왜 리눅스에서는 4번이 찍힐까요?
khk의 이미지

Linux에서의 Time 측정 정밀도?

리눅스에서 시간 측정시 사용하는 함수가 여러가지 있는 것 같은데요...
일반적으로 가장 정밀한 단위까지 측정하려면 어떤 함수를 써야 하는지요..
제 경우 struct timeval 구조체와 gettimeofday() 함수를 사용하는데
이 보다 더 나은방법이 있으면 알려 주시기 바랍니다.

그리고 어느 것을 쓰던지간에 그 정밀도는 10ms 이하로는 불가능한게 맞는지요?
만약 그렇다면 왜 그런지 이유에 대해서 설명 좀 부탁드리겠습니다.

좀 더 정밀하게 micro sec나 nano sec까

살자의 이미지

에러 메세지를 파일에 쓰고 싶은데여...

안녕하세요...
에러 메세지를 파일에 쓰고 싶은데여... 에러 메세지를 받는 방법을
모르겠어여...

프로그램 실행 중에 생기는 모든 에러 메세지를 사용자 버퍼에
넣는 방법을 알고 싶습니다. perror() 함수 같은 경우는 버퍼에 담을수가 없어서여....

ljksky의 이미지

왼쪽 절렬..? 오른쪽 정렬..??

[code:1]
char sz_kind[3];
char sz_send_ip[16];
char sz_send_port[6];
char send_data_buf[24];

memset(sz_kind, 0x00, sizeof(sz_kind));
memset(sz_send_ip, 0x00, sizeof(sz_send_ip));
memset(sz_send_port, 0x00, sizeof(sz_send_port));
memset(send_data_buf, 0x00, sizeof(send_data_buf));

memcpy(sz_kind, "11", 2);
sz_kind[2] = '\0';
memcpy(sz_send_ip, "61.33.44.13", 15);

ljksky의 이미지

클라이언트에서 쓰레드 풀....??

서버 프로그램에서 쓰레드 풀을 할려고 하면...

--------------------------------------------------------------------
                                 ..
                                 ..
client_sockfd = accept(server_sockfd, (struct sockaddr*)&clientaddr, &client_len);
 루프를 돌면서 놀고있는 쓰레드를 찾아 
 시그널pthread_cond_signal()을 보내 
 쓰레드를 깨워 작업을 시킨다...
--------------------------------------------------------------------

이런 식으로 했었는데...

클라이언트 프로그램에서 쓰레드 풀을 만들어..

hey의 이미지

헤더들이 서로를 인클루드하고 있는 상황을 어떻게

어떻게 타개해야 할까요?

예를 들어

A.h
 #ifndef ...
 #inc B.h

 ClassA
  blahblah(ClassB*)

B.h
 #ifndef ...
 #inc A.h

 ClassB
  ClassA mA

클래스A는 매개변수로써 클래스B를 필요로 하고,
클래스B는 멤버 변수로 클래스A를 필요로 하는 상황입니다.

만약에 두 클래스 다 서로의 포인터만을 사용한다면

A.h
 #inc B.h

 ClassB
 ClassA
  blahblah(ClassB*)

B.h
 #inc A.h

 ClassA
 ClassB
  ClassA mA

이렇게 사용하기 전에 한 번씩 선언을 해주면 되겠지만

appkr의 이미지

gcc 3.x에서 __FUNCTION__ warning

지금 gcc 3.2를 사용하고 있는데 __FUNCTION__ define을 사용하면
deprecated라고 warning message가 나오는 군요.
(근데 실행해보면 함수이름은 제대로 나옵니다.)

컴파일 할때 저 warning message좀 안나오게 할 수 없나요?

컴파일할때 화면이 지저분해서.ㅋㅋㅋ

ps. 저거 많은 분들이 사용하는 define일텐데.. 나중에 없어지는 건가요?

버그소년의 이미지

Sun Sparc에서 IP로 해당 NIC이름 읽어오기 어떻게 하나요?

리눅스용 프로그램을 솔라리스로 포팅중입니다.

NIC가 여러개일때, 특정 IP를 입력하여 NIC이름을 얻는 함수가 있는데

리눅스에서만 되는군요..

RAW소켓을 열고 라우터로 메세지를 보내고, 주고받고....

ioctl로 디바이스 명을 읽어오는데 SIOCGIFNAME이 솔라리스엔 없네요.

솔라리스엔 어떤방식으로 하는건지 궁금합니다.

그럼 고수님들의 답변 기다리겠습니다.

seed의 이미지

리눅스에서 모듈이 수행된 시간을 알수있는 방법없나요?

개별 모듈이 수행되는데 얼마나 시간이 걸렸는지 알수있는 방법없나요?
개별모듈 안에 있는 함수들은 언제 호출될지 모르는 함수들입니다...
감사합니다.

페이지

프로그래밍 QnA 구독하기