프로그래밍 QnA

iamsjkim의 이미지

TCP/IP 에서의 패킷 재전송 원리에 관해 질문드립니다.

TCP/IP의 경우 소켓함수를 쓰면 TCP 레벨에서 알아서 ack를 날려주는것은 알겠는데 이 ack를 송신단에서 수신하지 못할경우 내부적으로 어떤 루틴이 실행되는지 알고 싶습니다.

일단 질문의 요지를 정리해보면, send(), recv()함수에 관여하는 것은
송신단 응용프로그램, 송신단 운영체제, 수신단 운영체제, 수신단 응용프로그램, 이 네가지이고
송신단에서 send()를 수행하여 수신단 운영체제까지 전달이 되면 수신단 응용프로그램에서 recv()를 수행했던 안했던 일단 송신단 send()는 성공한것으로 본다..는 것을 검색해서 읽었습니다.

alsgo123의 이미지

gcc,nm,ld 의 옵션중에..

컴파일시에 (cross-compile) -lpam 에서 에러가 발생합니다.
( cross-compile 로 해당 libpam 도 설치한상태)

arm-linux-gcc 인데요, gcc 에 -l 옵션을 주면 해당 라이버러리를 같이 링크하는걸로 알고있습니다. -l 옵션을 주면 *.a 나 *.so 파일을 찾는 경로를 알고싶습니다.

gcc -? 어떤 옵션을 주면 gcc 가 라이버러리를 찾는 경로를 출력할수 있죠?

ld 의 경우도 어디서 library 를 찾는지 알수 있는 옵션이 있나요?

kimdy123의 이미지

CC[c++ Forte + QT] debug using ddd..

.
.
.
EndSourceTarget( tmp_nhbuf->net,onenetrout);
all_rc.erase( all_rc.begin(), all_rc.end() );
Perception( 0, tmp_nhbuf->net, onenetrout, subckt->place.matrix);
.
.
.
void Route::EndSourceTarget(string& net,OneNetRout& onenetrout){
int r=0,c=0; multiset<RC,gt>::iterator tmp_rc;
tmp_rc=all_rc.begin();
r=(*tmp_rc).row;
c=(*tmp_rc).col;
tmp_rc=all_rc.end();
tmp_rc--;
onenetrout.allpin=all_rc;
}
위의 간단한 예제에서 EndSourceTarget에서 next를 하면 그 밑의 int r=0..[void Route::EndSourceTarget] 라인에 디버깅 포인트가 와야지 되는데 stl[forte]로 디버깅 포인트가 넘어가 버림니다. 어떻게 해야 될까요? 알려주심 감사..

indizarm의 이미지

호출된 함수에서의 free(), malloc()에 의한 효과

char* str;
int str_size;

func(str, &str_size);
②
...

func(char* str, int* str_size)
{
    int str_size2;

    free(str);
    str = (char*)malloc(str_size2);
①
    *str_size = str_size2;
}

이렇게 되어있을 경우에 func()호출이 효과를 보려면
func(char** str,...) 이렇게 해서 포인터의 주소값을
넘겨야 합니까? (이중 포인터가 별로 보기가 않좋아서...)

①의 위치와 ②의 위치에서 str의 값이 다르군요.
①에서는 원하는 값이 들어있는데 ②에서는 보이지 않는

운형의 이미지

쉘 스크립트와 C의 성능...에 관해

베쉬 쉘로 되있는 부분을 C로 다시 작성을 해야해서 이렇게 질문을 올립니다.

같은 플로우를 갖는 상태로 C로 다시 작성했을 경우 성능 향상이 얼마나 될지 궁금합니다.

쉘에서 하는 일이 조건에 따라 A, 혹은 B를 실행 시키는 정도의 간단한 프로그램입니다(사실 이거보단 조금 복잡하지만...)

결과 적으로 C에서도 system()을 사용하거나 fork()exec해야 하는데 단순히 system()을 사용하면 쉘이 인터프리트 되는 시간을 약간 절약할 수 있다는 느낌은 오는데,

skymagic01의 이미지

서버프로그램을 짜는데 스레드때문에..

지금 서버를 짜고있는데요
어느 특정한시간에 함수를 호출할려고 하거든요
어떻게 처리해야 하는지 궁금하네요
세마포어 로 해서 하고있는데 이걸루 하는것이 맞는지 궁금하네요;;

indizarm의 이미지

malloc()으로 할당 받은 메모리의 크기를 아는 방법

동적으로 할당 받은 메모리의 크기를 아는 방법이나
함수 같은 것이 없을까요?

char* str;
int str_size = 30;

str = (char*)malloc(str_size);

이렇게 했을 때, str이 가리키는 메모리 블럭의 크기를
알 수 있는 방법이 궁금합니다.

free(str); 이렇게 했을 경우에 str가 가지고 있는 값은 NULL로 set되는 것이 아니었습니까? 그러면 어떻게 메모리가 반환되었는지 판단을 하죠?

단순히 메모리가 반환되었다고 '가정' 해

하하의 이미지

질문있습니다.

WIPI라 하여 모바일 컨텐츠를 개발하려 합니다.

사용언어는 모바일 C 라고 합니다.

보기엔 C와 동일한데.

오늘 셈플 코드를 보다가 이런 문장이 있어.

static unsigned char bmpDmp[]={
#include "icon_use.hex"
};

static unsigned char bmpDmp[]={
#include "num1.hex"
};

위와 같은 코드가 C 컴파일러가 알아 들을 수 있나요?

모바일 C 이외에도 이러한 코드가 먹을 수 있는지.

있다면 어떻게 이해 하면 되는지 설명해 주실 수 있나요?

moonzoo의 이미지

select 와 poll에 대해서.

man select 하였더니..다음과 같은 부분이 나옵니다.

      select() supports the following devices and file types:

           +  pipes
           +  fifo special files (named pipes)
           +  all serial devices
           +  All ITEs (internal terminal emulators) and HP-HIL input
              devices
           +  hpib(7) special files
           +  lan(7) special files
           +  pty(7) special files
           +  sockets

위와 같은 사실이 poll 에도 그대로 엄격히 적용되는지 알고 싶습니다.

namhw의 이미지

소스코드를 나눌때(??) 어떻게 해야 하나요?

간단하게 메신져 서버를 짜보고 있습니다. 크게 네트워크부분, DB부분, 메모리
관리?? 정도로 나뉘어져있고요.

지금은 한 파일에서 다 뭉개서 짜고 있습니다. -_-;;

이때까지는 그냥 다 이런식으로 한파일에 이것저것 다 몰아서 짰었는데요.
뭐 혼자 만들고,,, 긴 소스코드를 작성해본것도 아니라서,,,,

지금 해보고 싶은건 구조적(?)으로 관련부분만 따로 파일로 만들어서 코딩을
해보고자 합니다. 수업시간에 잠깐 ar명령어로 라이브러리를 만드는것을

페이지

프로그래밍 QnA 구독하기