프로그래밍 QnA

gostis의 이미지

libc.lib 관련 에러..

기존에 vs2008 에서 mfc로 작성한 프로젝트가 있습니다.
그런데 개발환경이 바뀌게되어
vs2008 sp1 또는 vs2010 에서 빌드를 해야할 일이 생겼습니다.

빌드가 잘 되던것이 개발환경이 바뀌니 링크 에러를 발생시키며 빌드가 되지않습니다.
libc.lib 를 찾을수 없다는 에러인데
검색결과 단일쓰레드를 vs가 버전업되면서 더이상 지원안하는 것때문에 발생한 문제입니다.

링크 옵션으로 /ML 을 줘도 안되고(지원 자체가 안되니)
특정 라이브러리 무시에 libcmt.lib 를 추가하고 기존시스템에서 libc.lib 파일을 카피해와도 안됩니다.

어떻게 해결해야 할까요..

fivestar의 이미지

64비트 로 소스 포팅 중 함수 포인터 문제..

32비트에서 돌던 프로그램을 64비트로 작업하고 있습니다.

변수형들은 64비트로 바뀐것들에 한하여 모두 작업 완료 하였습니다.

그런데 함수 포인터를 사용하는곳에서 segment fault 가 발생하더군요

디버깅을 해보면 해당 함수 진입조차 못하고 만나면 바로 죽어버리네요

64비트에서는 포인터형이 64비트라고 하던데 이와 관련하여 문제가 발생하는것일까요?

segment fault 가 발생하는게 조금 이해가 안되네요

컴파일 환경은 리눅스 gcc 입니다.

답변 기다리겠습니다

ktlsu1231의 이미지

Dead Lock 관련(SendMessage, WaitForSingleObject, Shared Memory)

안녕하세요.

Shared Memory를 사용하는 구조입니다.

Client <----------------Shared Memory----------------> Server

SendMessage(Alive?) <--> SendMessage(Alive?)

형태로 되어 있고, 서로 메모리를 공유하기 위해 살아있는지 확인하는 과정을 거치는데

아래와 같은 형태로 서버측에서 클라이언트 측으로 명령을 실행하기 전 살아있는지

SendMessage 처리를 합니다. 클라이언트 핸들은 공유메모리에 기록되어 있는 것을

가져온 것이고 공유메모리에 있는 m_bAlive 변수에 True, False 값을 주어 상대가

살아있는지 확인합니다.

WaitForSingleObject(m_hMutex, 1000);

chxooi의 이미지

[shell script] 질문있습니다.

예를 들어 find 같은걸로 여러개의 파일을 찾는다고 할때
몇개가 나올지도 모르고, 경로가 다다르다고 할때 각 결과물한줄 한줄을 변수에 넣을 수 있을까요?

find ./ -name "rambo*"

결과
/root/rambo1
/root/war/rambo2
/bin/rambo3
....
....

라고할때 사용자 입력받아서
1번키 누르면 rambo1 에 대해 명령을 내리고 (즉 앞에 root/war 이런거 빼야 하니까 나름 편집도하려구요...)
2번키 누르면 rambo2 에 대해 명령을 내리고
3번키도 마찬가지고 하고픈데...
방법이 없을까요??

갯수가 몇개 나올지 모르겠고 변수를 어떻게 정의해야할지 잘 몰라서..

ps. shell script 전문적으로 강의하고 질문 받는곳은 없을까요?

suldogagi의 이미지

다중 클라이언트-서버 모델에서요

클아이언트가 여러게 있고 서버데몬이 하나가 있다고 치면요

예를 들어 서버 포트 5555 번으로 클라이언트 5개가 붙었다 칩시다.

서버데몬은 fork() 로 자식프로세스를 띄워서 구현했다고 하구요.(기본적인 서버-클라이언트모델)

그럼 여기서 의문입니다.

5555 포트로 다섯개의 클라이언트가 접속이 되어있는데(자식 프로세스 다섯개로 연결되어있음)

어떻게 해당 클라이언트의 패킷이 같은 5555 포트로 연결되어있는 각각의 자식 프로세스로 갈수있는 걸까요?

그러니까 A라는 클라이언트도 5555 포트, B라는 클라이언트도 5555 포트...

이런식으로 연결되어있을건데요..

그러니까 서버의 커널(?)이 각각의 클라이언트의 패킷을 구분해서

이놈하고 연결되어있는 자식 프로세스로 데이타를 보낸다는 얘긴데요..(제 추측^^)

같은 5555 포트로 데이타를 보내는데 말이죠.(따라서 포트로는 해당 패킷을 구분하기 불가능하죠)

그래서 추측해보면 ip헤더와 TCP헤더의 어떤 필드중에 서버의 자식프로세스와

horangs의 이미지

[완료] 컴파일 옵션 관련 (화면에 프린트되는 메시지 관련)

리눅스에서 커다란 어떤 시스템을 make 해보는데,
(제가 개발한 건 아니고 make만 해봅니다)

어떤 블럭은 컴파일되는 내용이 화면에

컴파일러 컴파일 옵션들 -o 목적파일 -c 소스파일

와 같은 형태로 나타납니다. 이게 일반적이죠..

그런데 어떤 블럭은 컴파일되는 내용이 화면에

CC [M] 목적파일 
LD  블라블라

이런식으로 나옵니다.

전 사용된 컴파일러를 꼭 보고싶은데.. 이렇게 나오는건 대체 왜그런건가요?
어떤 옵션을 주면 원래대로 볼 수 있을까요??

hyde1004의 이미지

[완료] 메모리 사용량을 어떤 방법으로 계산, 측정할 수 있을까요?

안녕하세요.

프로젝트를 진행하다 보면,
제가 구현한 모듈 (파트)의 메모리 사용량이 필요한 경우가 있습니다.
(예를 들면, 제한적인 memory를 가진 System에서 내가 작성한 모듈의 사용 가능 여부)

Flash memory에서 차지하는 공간은 추출물(라이브러리 등)의 크기로 쉽게 알 수 있습니다.
그런데, RAM은 어떤 방식으로 계산하거나 측정할 수 있을까요?

제 경우에는 전역변수의 전체 용량 + malloc( )의 최대 크기 + 버퍼 total 공간 등으로 어림잡아서 계산을 합니다만,
무언가 체계적인 방법이 있을것 같은데, 어떤 방법이 있을까요?

조언부탁드립니다.

declspec의 이미지

공유기 내부에서

공유기 내부에서
NAT 처리가 먼저인가요
아니면 IP 라우팅 처리가 먼저인가요?
또한 NAT 의 경우 SNAT 과 DNAT 이 있는거로 아는데
이 둘은 같은 단계에서 처리될까요?

mbcls의 이미지

gcc 디버그 메세지 해석 부탁드립니다~

root@mbcls-VirtualBox:/media/Extra/usr/src# uname -r
2.6.38.8.helloworld
root@mbcls-VirtualBox:/media/Extra/usr/src# gcc test.c -o test
test.c: In function ‘main’:
test.c:5:10: error: ‘__NR_helloworld’ undeclared (first use in this function)
test.c:5:10: note: each undeclared identifier is reported only once for each function it appears in
---------------------------------------------------------------------------컴파일 시 나타나는 메세지 입니다.
#define __NR_hellowrld 341

페이지

프로그래밍 QnA 구독하기