프로그래밍 QnA

dudtns0의 이미지

core dump 디버깅하는데요

xxx.a로 묶여있는 함수를 보려면 어떻게 하죠
그 안에서 에러가 나는데
gdb에서 s 치니깐 a로 묶여있는곳은 바로 건너가네요
전 안으로 들어가서 에러를 찾고 싶은데

nayana의 이미지

poll에서 tcp, udp 두개 생성해서 쓰는 방법?

[code:1]#include <sys/time.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/poll.h>

// 받아들일수 있는 클라이언트의 크기
#define OPEN_MAX 600

int main(int argc, char **argv)
{

int server_sockfd, client_sockfd, sockfd, udp_sock;

int i, maxi;
int nread;
int state = 0;

socklen_t clilen;

struct sockaddr_in clientaddr, serveraddr, udpserveraddr;

hermian의 이미지

unsigned short 유효 범위는?

unsigned short는 0에서 시작하는 것으로 알고 있습니다.
그런데 다음과 같은 코드를 컴파일 하니 gcc에서 warning을 발생하는 군요.
[code:1]
#include <stdio.h>
#include <assert.h>

#define ENSURE(test_) assert(test_)

int
main(void)
{
unsigned short int w;

w=99;

ENSURE(w >= 0 && w <= 99);

return 0;
}
/* gcc -Wall -g -o t t.c */
/*
* Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
* gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)

dudtns0의 이미지

Segmentation fault (core dump) 이렇게 에러가 나네요 어디가 ?

에러내용은 제목처럼 그렇구요
static SUserParm_T *gpstUser;
void infCpyUserParm(SUserParm_T *pUser) { gpstUser = pUser; }

int infSetUserParm(SUserParm_T *pUser, int argc, char **argv)
{
char szFileName[256];
char *pPath;

gpAppName = argv[0];
infCpyUserParm(pUser);

if ( argc == 2 ) {
sprintf(szFileName, "%s", argv[1]);
} else {
if ( (pPath = getenv("CFG_DIR")) != NULL ) {
sprintf(szFileName, "%s/%s.cfg", pPath, argv[0]);
} else {
sprintf(szFileName, "%s.cfg", argv[0]);
}
}

#if 0
fprintf(stdout, "CONFIG FILE NAME[%s]\n", szFileName);

송지석의 이미지

각 비트가 4번 이상 연속으로 유지돼야 상태변경이 출력되게 할

제어 관련 프로그램을 하다가 구현해야 할 것이 생겨서 질문을 올립니다.
해야 할 일은 다음과 같습니다.
32비트짜리 비트플래그가 있습니다. 각 비트가 0,1로 상태를 나타내죠.
이 비트들의 각각이 변하면 이벤트를 발생시켜야 하는데
대신에 잠깐 바뀌었다가 다시 돌아오는 것은 무시해야 됩니다.
일단 무시하는 횟수는 4회로 정했습니다.
그러니까 어느 비트가 111011 이러면 계속 1이었던 것으로 간주하고
110000 이러면 0으로 바뀌었다고 간주하는 겁니다.

sisbn의 이미지

왜 이코드가 에러가 안나죠????(동적할당관련)

#include <stdio.h>
#include <unistd.h>

typedef struct _Card Card;
struct _Card{

  int number;
  char shape;
    
};

int main()
{
    Card* cards[3];
    cards[0] = (Card*)malloc(sizeof(Card));
    cards[0]->number  = 3;
    cards[0]->shape  = 'b';
    cards[0]->shape  = 'c';
    cards[0]->shape  = 'd';
    cards[0]->shape  = 'k';
    
    printf("card shape is %c\n", cards[0]->shape);
}

copyrei의 이미지

grep이용한 패턴 매칭.. 도와주세요

cat test | grep ^## | wc -l

로 하면 ##로 시작하는 행의 개수를 세어 줍니다

그런데 간단하게 테스트 하면 잘~ 되는데

진짜 실행할 200라인 정도되는 화일은 결과값이

2개가 모자라게 나옵니다.

눈으로 열심히 -_- 세어보면 15개가 나오는데

저렇게 돌리면 13개만 나오네요.. 환장합니다..

왜그런지 아시는분... 참고로 ##다음에 숫자가 붙어있습니다.

이것때문에 그런것인지..

또 여쭤볼것은..(죄송)

화일에서 스페이스로 띄어져 있는 컬럼 단위로 떼어내는

ratmhun의 이미지

파이프를 통해서 파일 복사하기

[code:1]
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>

#define PERMS 0666

int main(int argc, char **argv)
{
void fatal(char *);
int object;
char buf[BUFSIZ];
int pfd[2];
int n, status;
pid_t pid;


if(argc < 2)
{
puts("Usage: a.out source object");
exit(1);
}

if(pipe(pfd) < 0)
fatal("pipe");

if((pid = fork()) < 0)
fatal("fork");

if(pid == 0)

jwy22의 이미지

특정프로세서 감시후 실행시키는 프로그램??

안녕하세요.
서버 프로그램을 하다가 몇가지 안풀리는것이 있어서 질문합니다.
특정 프로세서를 감시하고 있다가 그것이 종료하면
자동으로 다시 실행시켜주는 프로그램이 있는지요..??

어떻게 해야할지 몰라서 지금은 쉘프로그램과 C프로그램을
혼합해서 사용하려고 프로그램을 짜고 있습니다.
그런데 쉘에 2개의 인자값을 넘기고 그 받은 인자값1의 이름으로
프로세서가 실행중인지 감시하고 죽었다면, 인자값1,2로 재가동
시키는 프로램을 짜려고 하고 있습니다.

lkjt의 이미지

wine을 dos용으로 포팅한다면??

wine을 dos용으로 포팅하게 되면
dos에서 M$윈도우 콘솔 프로그램 돌리는게 가능할까요?

아니면 이런 프로그램이 있나요?

페이지

프로그래밍 QnA 구독하기