프로그래밍 QnA

iwall의 이미지

프로그램 실행시 공유라이브러리 적재 매카니즘

프로그램 A 가 있습니다.

$ ldd A
liba.so.1 --> /lib/liba.so.1
libb.so.1 --> /lib/libb.so.1

두개의 공유 라이브러리를 사용하는 프로그램 A가 컴파일 되어 있습니다.
프로그램 A를 기동하기 위해서 공유 라이브러리 liba.so.1, libb.so.1 은 반드시 필요합니다.
또한
$ A -a
라고 명령을 수행하면 liba.so.1 에 있는 함수를 수행합니다.

$ A -b
라고 명령을 수행하면 libb.so.1 에 있는 함수를 수행합니다.

이런 상황에서 liba.so.1 가 없어졌습니다.
liba.so.1을 구할수가 없기 때문에, liba.so.1에 있는 기능은 포기하고,

menupan의 이미지

pthread 에서 구조체를 통한 데이터 공유에 관하여

쓰레드 사용시 전역변수를 이용하지 않고 구조체를 가지고 하려고 합니다.
예제들을 보니 대략 다음과 같더군요... :D

typedef struct{

double volatile *p_s;
pthread_mutex_t *p_s_lock;
...
}DATA;

void *thread_function(void *arg){

DATA D = *(DATA *)arg
...
pthread_mutex_lock(D.p_s_lock);
p_s = val_to_modify;
pthread_mutex_unlock(D.p_s_lock);
}

void main(){

DATA *A;
double volatile s;

for(...){

A[i].p_s = &s;
pthread_create(...);
}

for(...){

pthread_join(...);
}
}

각각의 쓰레드에서 사용하는 변수(p_s)가 main 안의 하나의 변수(s)와 어떻게 매치되는 지 궁금합니다. :?:

ethdus의 이미지

.dat 파일에 관한 질문입니다 관심가져 주세요^^

안녕하세요 처음 뵙겟습니다^^
다름이아니라 제가 좀 너무 초보라서;;;
.dat 파일 말인데요 데이타 파일이요(동영상 말고)
소스 코드가 open을 통해 데이타 파일을 읽어 들여서
프로그램을 실행 해야 하는건데
.dat파일이 컴파일하는것은 아니라고 들었습니다
그러면 제가 프로그램을 잘못 짜면 어떻게 알죠?
그리고 파일 형식은 c랑 같은가요?
알려주세요~

moonzoo의 이미지

extern 에 대해서..

예를 들어

xxx.h 와
a.c b.c c.c d.c e.c f.c 로 구성되는 프로그램을 작성중인데요.

a.c 에서 global 변수 yyy를 정의했습니다.

이 변수 yyy를 c.c d.c e.c 에서 사용한다고 할경우..

c.c d.c e.c에서 각각 extern을 해주는 것과 ---- 1번.

xxx.h에서 extern 해주는 것과 ---- 2번.

중에 어떤 방법이 바람직할지 의견을 묻고 싶습니다.

spinel1의 이미지

Signal에 대한 질문입니다.

Signal을 공부하는데 책 첫페이지에 나오는 말입니다.

- 프로세스들 사이에서 비동기적(asynchronous)사건의 발생을 전달한다.

여기서 비동기적이라 함은 무슨 의미인가요??

아무리 고민해도 이해가 되지 않는군요~

tazanboy의 이미지

select를 잘못 사용하고 있는것 같습니다.

[code:1]
while(!server_ending) {
sin_size = sizeof(struct sockaddr_in);
if ((newsockfd = accept(sockfd, (struct sockaddr *)&client_addr, &sin_size)) == -1) {
perror("accept");
continue;
}

printf("connected from %s\n", inet_ntoa(client_addr.sin_addr));

if ((PID = fork()) != 0) {
close(newsockfd);
continue;
}

printf("new socket made\n");

rain의 이미지

NIC device driver 제작 방법에 대한 질문

리눅스에서 Realtek 8139 ethernet 카드의 driver를 제작해보려구 합니다.
소스도 있어서 분석하고 실제로 만들어 보면 재미있을거 같더군요.
첨으로 driver를 만들어 보는 거라 궁금한게 많습니다.
보통 driver를 제작할때 단지 device에 대해 제품 회상에서 제공되는
레퍼런스만 있음 제작이 가능한건 지 궁금해요. 혹시 nic카드의 상태등을
확인 해보기 위한 장치들이 있어야 하는건지. 아니면 kernel level에서
테스트 해가면서 제작을 하는 건지 궁금합니다. :roll:

ar의 이미지

Local Network Area??

제목 그대루 입니다. ㅡ.ㅜ 로컬 네트웍의 범위는 어디까지죠?
저는 대학에 재학중인 학생입니다. 로컬 네트워크 내에서 패킷을
캡춰하는 예제 프로그램을 실행중인데 제가 생각하기와는 다른
IP 주소의 패킷을 캡춰하는 것을 보구 먼가 잘못 알고 있구나 해서
이렇게 질문 올립니다. ㅡ.ㅜ

우선 질문은 이렇습니다. 제 ip 가 111.222.33.4 라고 하면
제 로컬 네트워크의 범위, 즉 broadcast 가 이루어지는 범위는
111.222.33.* 이 되야 하지 않나요? 그런데 111.333.22.55 와 같이

raymundo의 이미지

netstat 에서 bind 까지만 한 스트림 소켓이 보이지 않는데.. 정

안녕하세요,

    ...
    sck_inet = socket(AF_INET,SOCK_STREAM  ,0);

    memset(&adr_inet,0,sizeof adr_inet);
    adr_inet.sin_family = AF_INET;
    adr_inet.sin_port = htons(39000);
    adr_inet.sin_addr.s_addr = INADDR_ANY;
    len_inet = sizeof adr_inet;

    bind(sck_inet, (struct sockaddr *)&adr_inet, len_inet);

    system("netstat -pa --tcp);
    ...

위와 같이 스트림 소켓을 생성하고, 바인드 한 후에 netstat 으로 출력을 시켰습니다. 그런데 해당 39000 번 포트의 정보가 전혀 출력되지 않네요. netstat 에 -a 옵션이 있으면 listen 하고 있지 않더라도 출력된다고 매뉴얼페이지에 나와 있는데요.

배상윤의 이미지

어떤 Lan Card의 성능이 가장 좋은가요??

Linux에서 2개의 Lan Card를 이용해 Packet을 Forwarding하는 시스템을 제작해
볼까 합니다. 그런데 Lan Card를 선정하는데 언뜻 결정이 쉽게 되지 않는군
요..
지금은 3Com(3c905CX 10/100 PCI)과 Realtek(RTL8139D)의 제품을 보고 있는데
솔직히 어떤게 더 나은지 감이 잘 안옵니다. 제품 지원 문서를 봐도 도통 모르
겠구요.. 두 제품중에 어느게 더 좋은지 그리고 보통 가장 성능이 좋다고 할
수 있는 Lan Card는 어떤 회사의 어떤 제품인지.. 답변을 해주셨으면 감사하겠
습니다.

페이지

프로그래밍 QnA 구독하기