프로그래밍 QnA

lh8557의 이미지

[c언어]알고리즘이 잘된건지좀 보고 리플좀..부탁.

알고리즘은 자연어로 기술할께요.
중위연산자[infix]로 입력받아서 후위연산자[postfix]로 바까서
출력하고 후위연산자를 계산하여 값을 출력하는 계산기입니다.
거기에 ++ 연산자도 되게 포함했는데 값은나오는데
맞게 구현한건지 모르겠네요..리플좀부탁합니다.

[code:1]#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STACK_SIZE 100 /* 스택 최대 크기 */
#define MAX_EXPR_SIZE 100 /* 받는 문자열 최대 크기 */
typedef enum {lparen, rparen, plus, minus, times, divide, mod, rbig, lbig, not, equal, and, or,

yanggak의 이미지

gets에 대해서 이상한 함수가 계속 뜨는군요...(쉘프로그램을 짜

[st20013133@redserver st20013133]$ gcc -o shellex shell.c
/tmp/ccU1vD46.o: In function `readCommand':
/tmp/ccU1vD46.o(.text+0x2ff): the `gets' function is dangerous and should not be used.
[st20013133@redserver st20013133]$

쉘을 C로 구현하는 중인데 프롬프트를 띄우고 line을 읽어드릴려구...
gets를 썻는데 위와 같은 메시지가 자꾸 뜨네요...뭐떔에 그러지요?

dejavuh의 이미지

Message Queue 질문입니다.

Message Queue를 사용하는 프로그램을 만들어 보려고 하는데요. 좀 이상한 증상이 있어 문의드립니다. 다름이 아니오라 msgget(....) 으로 queue를 생성해서 id를 받아오지 않습니까? 그런데 이 아이디가 부팅 후 첫 실행 시에는 항상 0을 리턴하네요 ??????? 프로그램 종료 후 다시 시작하면 1보다 큰 값을 리턴합니다. 0을 리턴하는 것에 특별한 의미가 있는 것인지요? 아니면 0이 리턴되어도 id로 그대로 사용하는데 아무런 문제가 없는 것인지요 ???

기분상 id 값으로 0을 쓰려니 그리 달갑지는 않네요 ^^;

sangjina의 이미지

커널2.6으로 업하고나서 튜..

아래와같은 에러가 나네요..

------------------------------------------------
gcc -D__KERNEL__ -DMODULE -DKBUILD_MODNAME -DDEBUG -I/development/cardvr/works/linux-2.6.5_old/include -I. -Wall -O2 -c sh7003.c
sh7003.c: In function `sh7003_open':
sh7003.c:60: warning: `MOD_INC_USE_COUNT' is deprecated (declared at /development/cardvr/works/linux-2.6.5_old/include/linux/module.h:515)
sh7003.c: In function `sh7003_release':
sh7003.c:68: warning: `MOD_DEC_USE_COUNT' is deprecated (declared at /development/cardvr/works/linux-2.6.5_old/include/linux/module.h:527)
------------------------------------------------

lh8557의 이미지

[c언어]오류수정좀. 함수는짯는데;; 주석이 있어야하나.ㅜㅜ

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

// 문자를 저장하는 스택과 함수 정의
#define MAX_EXPR_SIZE 100
#define CHAR_STACK_SIZE 100
#define INT_STACK_SIZE 100
char char_stack[CHAR_STACK_SIZE];

int char_top = -1;
int int_top = -1;

int char_Isfull()
{
if(char_top>=CHAR_STACK_SIZE-1)
return 1;
else
return 0;
}

int char_Isempty()
{
if(char_top<=-1)
return 1;
else
return 0;
}

void char_stack_full()
{
printf("Stack is Full! : \n");
}

초보입니다.의 이미지

key, value 를 알맞은(?) 자료 구조에 넣기?

예를 들어 아래와 같은 key , value 값들이 있다고 할때

==name== ==value==
"Seoul" 500
"NewYork" 100
"Pusan" 400
: :

제 생각엔 2차원 배열로.. 관리가 가능 할 줄 알았습니다.
헌데.. 아래와 같이 사용했을때.. 2차원 배열은 알맞지 않단걸
알았습니다.

[code:1]
#include<stdio.h>
main()
{
int i;
char a[][8] = {"Seoul","NewYork","Pusan", ....};
for(i=0 ; i<5 ; i++)
printf("%s\n",a[i]);

mtorange의 이미지

gcc 버그인지 아니면 코드 문제인지....?

아래와 같이 y.cpp 라는 파일을 만들어 두고..

[code:1]
1 #include <stdio.h>
2
3 class foo
4 {
5 public:
6 foo()
7 {
8 puts("foo()");
9 }
10 template <class T> T *create()
11 {
12 return new T;
13 }
14 };
15
16 class bar
17 {
18 private:
19 foo *m_foo;
20 public:
21 bar(foo *x) : m_foo(x)
22 {

lh8557의 이미지

[c언어질문]중위연산자를 후위연산자로 바까서 계산하는거도와주

후위연산자로 바꾸는거 까지는 했는데 이항연산자를 인식못해요 단항으로만인식하구 코딩 그리고 계산하는 함수를 작성못하겠어요..어떻게 해야할지좀
가르켜주세요..; c언어로 코딩해야대요..;; 코딩보시구 계산하는 함수하고
이항연산자 인식하는 ..거...방향좀 제시좀 해주세요..부탁드립니다.
[code:1]
#include <stdio.h>

// 문자를 저장하는 스택과 함수 정의
#define MAX_STACK_SIZE 100
#define MAX_EXPR_SIZE 100
#define CHAR_STACK_SIZE 100
char char_stack[CHAR_STACK_SIZE];

emptysky의 이미지

디버그 할때..

gdb 보다 좀더 비쥬얼한 디버깅 툴 없나요?
얼핏 듣기론 emax와 gdb를 같이쓰면 훨씬 비쥬얼하다던데요

ningoi의 이미지

pthread에서 또다른 pthread생성시 좀비 스레드가 생기는 이유.

안녕하세요 이제 막 공부하려는 한 우민입니다.
운영체제는 리눅스이구요.
스레드에서 스레드를 생성시켰는데 좀비스레드가 생성되네요..
이상한건 좀비 스레드가 생성되었다가 잠시후에ps-aux로 보면 다시 원래 상태로 돌아가거든요.
(테스트는 이렇게 했습니다. 한 컴에서 막~~ 클라이언트로 요청 보내고...
모니터링을 ps -aux | grep 프로세스명 으로 한번씩 찍어줬습니다.)

소스는 대충 이렇습니다.(지면 압박때문에 스레드에 관련된것만 적습니다.)

페이지

프로그래밍 QnA 구독하기