프로그래밍 QnA

kash0921의 이미지

[쓰레드 소켓 프로그래밍] 무엇이 잘 못된건지 절대 모르겠습니

얼마전에 segmentation fault때문에 질문 올렸으나 그때 제 컴터에 pthread library function이 없다는 걸 몰라서 그랬으나 이제는 해결이 됬습니다.

허나 이번에는 thread 사용에서 이상한 문제가 발생하여 고수분들께 도움을 요청 합니다.

우선 이 프로그램을 잠시 설명하겠습니다 (사실 설명하는게 아니라 이렇게 되야 되는겁니다.)

클라이언트: command line을 통해 서버에 파일을 요청하며 그 파일을 stdout의 형식으로 뿌려 주게 됩니다. 이때 stdout으로 출력되는 mp3 파일을 "mpg123 -" 라는 mp3 플래이어로 pipe in 하여 재생하게 하는게 목적입니다.

phyo의 이미지

포트란90 고수님께 부탁드립니다.-인스톨문제

제가 프로그램을 인스톨할려고 make 했는데, 도중 에러가 났습니다. (레드헷 9)

PGF90-S-0038-Symbol, malloc, has not been explicitly declared
(../src/ccmlsm_share/getmen.F)

포트란 프로그램인 getmen.F는 다음과 같습니다. 간단한 시뮬레이션 모델입니다. 물론 많은 파일 중 하나입니다.

[code:1]
#include <misc.h>
#ifndef WORDSIZE
#define WORDSIZE 8
#endif
subroutine getmem(calledby,nwords,address)
C-----------------------------------------------------------------------
C
C Interface routine for dynamic memory allocation. Replaces automatic

choco6의 이미지

[c언어]지역변수를 위한 로칼스택 할당 사이즈에 대한 문의

예를 들어 다음과 같은 함수를 테스트하는 경우,

void func(void)
{
char buf1[3];
}

x86 기반의 linux 2.6에서 gcc로 컴파일한다면, 제 상식으로는 buf1을 위해서 로칼 스택에 4바이트가 할당될 것이라 생각했습니다. 그런데 gdb로 확인하면

(gdb) disassem func
Dump of assembler code for function func:
0x8048460 <func>: push %ebp
0x8048461 <func+1>: mov %esp,%ebp
0x8048463 <func+3>: sub $0x18,%esp
0x8048466 <func+6>: leave
0x8048467 <func+7>: ret

보다시피 컴파일러는 buf1을 위해서 24바이트(18h) 스택 공간을 할당하는 것을 볼 수 있습니다. 그런데 buf1[4]로 하면 4바이트가 할당이 되더군요. 그리고 buf1[5]로 하면 다시 24바이트가 할당이 됩니다.

yangam의 이미지

매우 간단한건데요.. 이거 왜 이러는건가요?

[code:1]/*-----------------------------------------------------------------
<Euclid Algorithm - Third>

1. 임의의 두 정수 m, n 을 입력받는다.

2. n 이 0 이라면 m 이 최대공약수이다.
n 이 0 이 아니라면 m 에 m % n 을 대입한 후, 두 값을 교환한다.
(함수에 전달할 때 값이 바뀌게끔 전달한다)

3. 2 번으로 돌아간다.

(c) Sung-Am Yang, 2005-02-08
-----------------------------------------------------------------*/

#include <stdio.h>

int euclid_3rd(int m, int n);

int main()

Alpha의 이미지

[Richard stevens] UNP 2판 예제 컴파일 성공하신분 있나요?

FreeBSD 5.3 과 Redhat Linux 7.2 에서 Unix Network Programming 예제를 컴파일 해 봤지만 실패했습니다.

인텔용 솔라리스에서 컴파일해야 하나요?

아니면 다른 꽁수라도 ...

아르아의 이미지

OpenGL프로그래밍 할때 하드웨어가속 지원하는 방법

OpenGL빨간책도 GLUT로 설명하고 있고해서
여태까지는 OpenGL공부할때 GLUT를 썼는데, GLUT는 하드웨어가속을
지원하지 않는걸로 알고 있습니다.

C로 리눅스나 윈도우용 프로그램을 짤때
지포스나 라데온같은 일반 그래픽카드에서 지원하는
하드웨어 OpenGL가속기능을 사용하려면 어떻게 해야 하나요?

ratmhun의 이미지

공유메모리 shmget가 말썽입니다.

제가 공유메모리에 대해 제대로 이해하지 못하고 있는 것 같습니다. shmget()의 인자에 전혀 문제가 없다고 생각합니다만 프로그램을 실행하면 계속 'shmget: Invalid argument' 라는 메시지만 출력됩니다.

shmget()의 사용법이 잘못 되었나요?

Quote:

#include <sys/ipc.h>
#include <sys/shm.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>

#define FILENAMELEN 10

struct data
{
char filename[FILENAMELEN];
char mtext[1024];
};

int main(int argc, char **argv)
{
int shmid = 0;

icanfly의 이미지

gtk+ 2.x 사용에 대한 질문

예전 석사할때 만들어 놓은 NURBS 처리 프로그램에 GUI를 입혀볼 생각을 하고 있습니다.

근데 그때 만들어 놓은 프로그램은 크게

행렬객체, 벡터객체, NURBS곡선객체, 곡면 객체, 이렇게

구성되어 있는데요. 그냥 gui부분만 C로 해서 gtk를 사용하고자합니다.

C++, C가 짬뽕이 되도 크게 무리가 없을지....궁금하군요.

gtkmm이란 C++ 바인딩도 있는거 같은데, 별로 일반성이 없는거같아서 제일 일반적은 gtk로만 가려고 합니다.

그리고, 예전에 사두고 반쯤 읽다만 Eric Hallow(?)의 gtk책이 있는데..이건 1.2 기준으로 쓰여진책인데....

dudtns0의 이미지

몇일전에 올린문제인데 아직 해결이 안되서(Segmentation fault)

//tsdbsvr.c
#include "apcommon.h"
#include "apconfig.h"
main(int argc, char** argv)
{
#ifdef _DEBUG_
printf("시작\n");
#endif
infSetUserParm(&gstUserParm, argc, argv);
infInitProcess(argc, argv);
infMainRoutine(&gstUserParm);
infTermProcess();
}
//apconfig.c
#include "apcommon.h"
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]);

newh2o의 이미지

무선 라우터 구현에 대하여...

현재 wireless mesh network이라는 프로젝트를 진행하고 있습니다. 솔직히 말이 거창하지 기존의 ap를 무선으로 엮어서 사용한다고 보시면 됩니다. 자세히 알고 싶으신 분은 아래의 사이트를 참고해주세요.
http://www.nortelnetworks.com/solutions/wrlsmesh/index.html#

어쨌든 우리가 한장비에(무선랜이 두개 달린 임베디드 보드에 구현할 예정입니다.) ad-hoc모드와 infrastructure모드를 모두 구현해야 합니다.

이런 부분들은 지금 거의 해결이 된 상태인데... 지금 문제가 되는 부분이 netfilter를 이용하여 들어오는 패킷을 forwarding하는 방식으로 라우팅을 하려고 생각중인데.. NF_IP_PRE_ROUTING나 NF_IP_LOCAL_IN의 hook에서 패킷을 캡쳐하여서 패킷의 경로를 수정하고 다시 보내면 자동으로 포워딩이 이뤄지지 않을까 하는 상상(?)을 하고 있답니다. 그런데 지금 며칠째 그 작업이 생각대로 이루어지지 않고 있네요....;;

페이지

프로그래밍 QnA 구독하기