프로그래밍 QnA

onyx의 이미지

UDP 소켓을 통한 sendto 함수 사용시 블럭여부

UDP 소켓을 생성하고 sendto함수를 통해 데이타를 전송할때

블럭이 되는경우가 있나요? 일반적인 상황에서는 블럭이 안되는거 같은데.

특정상황에서 혹.. 블럭될수도 있는지... 궁금합니다.

김경태의 이미지

Makefile에서 VPATH가 않 먹힙니다.

<Makefile>

CC = gcc
OBJS = idl_parser.o idl_scanner.lex.o
DEBUG = -g
LIBS = -lfl
TARGET = Song_idl
VPATH = ../../idl

$(TARGET): $(OBJS)
gcc -o $@ $(OBJS) $(LIBS)

idl_scanner.o: idl_scanner.c
gcc -c $(DEBUG) idl_scanner.c

idl_scanner.lex.c: idl_scanner.l
flex -oidl_scanner.lex.c idl_scanner.l

idl_parser.o: idl_parser.tab.c
gcc $(DEBUG) -o idl_parser.o -c idl_parser.tab.c

idl_parser.tab.c: idl_parser.y
bison -d idl_parser.y

install:
cp ./$(TARGET) /usr/local/bin/Song_idl
cp ./$(TARGET) /usr/local/bin/song_idl

clean:

young93의 이미지

core 파일 생성하는 방법

안녕하세요

MPC860에 리눅스를 올려서 사용하고 있는데
Segmentation Fault 로 죽었을때
core 파일 생성이 안됩니다.

ulimit -c 로 core file size를 조정해 주었는데도 마찬가지이군요
뭔가 다른 걸 설정해야 할 것이 있나요?

조언 부탁드립니다.

모데스티의 이미지

삽입 정렬 소스에서 배열변수와 일반변수

이재규씨가 집필한 C로 배우는 알고리즘 개념과 기본 알고리즘으로 공부중인 모데스티라 합니다. 이 책 331페이지를 보면 C로 구현한 삽입정렬 소스가 개제되어 있는데요. 아래와 같습니다.

[code:1]
void insert_sort(int a[], int n)
{
int i, j, t;
for (i = 1; i < n; i++)
{
t = a[i];
j = i;
while (a[j-1] > t && j > 0) /*삽입될 곳을 찾음 */
{
a[j] = a[j-1]; /* 뒤로 옮김 */

성재파파의 이미지

소스코드를 프린트 하는 도구

허접한 질문 읽어 주셔서 감사합니다.

C 소스코드를 라인넘버와 한페이지에 좌우로 프린트하던 툴이 있던 걸루
기억되는 데 혹시 아시면 가르켜 주세요.(Windows용 툴)
Linux 말고 XP에서 프린트 할려구요.

아직 Linux에서 프린트 연결하는 방법을 몰라서..

Linux에서 프린트 하는 방법 도 가르켜 주시면 고맙겠네요.
한컴리눅스 3.0을 사용하는 데, 각종 에디터 나 기타 툴이 있어 프린트하는
메뉴는 있긴 한데, 현재 회사 LAN내의 프린트공유PC내에 연결된 프린터가

jee89의 이미지

write / strcpy 소스

라이브러리 소스 및 시스템 콜을 어디서 찾아볼수 있을까요?

swhong의 이미지

프로세스의 fork()시스템 호출 동작과 다음 스케쥴링 epoch시에

제목이 조금 길었네요...^^;;

정말 궁금한데요...

다음은 Understanding the Linux Kernel에서 본 내용입니다.

do_fork()함수의 호출시, parent(current)와 child(p)의 counter field값은 다음과 같이 조정된다고 합니다.

current->counter >>= 1;
p->counter = current->counter;

즉 parent의 time quantum을 반으로 쪼개서 child에게 나누어 주는 셈이지요...

그렇다면, parent와 child가 time quantum을 모두 소비(exhaust)한후 다음 scheduling epoch에서(즉, 모든 프로세스가 time quantum을 소비하여 다시 time quantum을 부여해 줄때)

ifyou의 이미지

redhat 8.0에서 최대 접속 가능한 횟수는?

간단한 daemon을 하나 작성하고 있습니다.

접속 들어오면 쓰레드 하나 만들어서 처리하는 것인데, wow7.1에서

개발했고 별 문제가 없었습니다. 그런데, redhat 7.3, redhat 8.0에

가면 동시에 접속 가능한 숫자가 254개 밖에 되지 않습니다.

그 이상 넘어가면 접속만 되고 동작은 하지 않습니다.

코드에 별 문제도 없는 것 같고, wow7.1에서는 별 다른 문제가 없기

때문에 도저히 원인을 모르겠습니다.

혹시 비슷한 경험을 했거나 해결책을 알고 있는 분

swhong의 이미지

커널 레벨에서 float나 double의 값....

커널 레벨에서 printk()함수로 float나 double의 값을 출력하려 했더니...

문제가 생깁니다.

가령...

..

struct timeval  tmp;

do_gettimeofday(&tmp);

printk("%.6f sec", tmp.tv_sec + tmp.tv_usec /1000000.0 );

..

이런 코드를 커널의 모듈에 삽입한후 그 모듈이 실행된후, dmesg 명령으로 확인을 해 보면....

%f sec

이런 식으로 나오거든요? 왜 이런건지요....쩝....

짐작이 안가네요....

totolo7942의 이미지

gcc 3.2 버전에 관한 질문입니다.

기존에 redhat7.3 에 gcc 2.96 버전에서 프로그래밍을 작성했습니다.
그래서 redhat8.0에 gcc 3.2 버전을 새로 설치하고 기존에 설치했던 C소스를 가지고 컴파일을 하는데.. 이상한 현상이 일어나서 고수님들에게 물어볼려구 합니다.

다른게 아니라.

gcc 2.96이전 버전에서는 함수에서 return; 을 하게 도면 기본적으로 0이라는 값이 return 되어서 나왔습니다. 구지 return 1; 이런식이 아니구여

문제는 gcc3.2버번으로 올라가면서 return; 을 하게 되면 터무니 없는 값이 return 되어서 돌아옵니다. 반드시 return 1; 과 같이 정확하게 명시를 해줘야 한다는 점이죠. 그래서 기존에 했던 프로그램들이 오작동을 하고 있습니다. 워낙 소스 자체가 방대해서 이걸 일일이 찾아서 해줄수는 없는 상화이라.

페이지

프로그래밍 QnA 구독하기