프로그래밍 QnA

greatlee의 이미지

ctags 로 소스 태그파일을 만들때, 매크로 문제

만일 아래와 같이 선언된 경우..

#ifdef _WIN32
#define REPOSITORY "C:\\Windows\\Temp"
#else
#define REPOSITORY "/tmp"
#endif

ctags 는 "Duplicate entry in file" 메시지를 내보냅니다.

그리고 두번째 항목을 무시해버립니다. "Second entry ignored"

이런경우 어떻게 대처하는게 좋을까요?

nTachyon의 이미지

socket 공유시의 경쟁에 관한 질문...

제목에서 처럼 소켓을 여러 프로세스 또는 스레드 간에 공유하는 부분에 대해 궁금증이 있어 글을 몇자 남깁니다.

부연 설명을 해 주시면 감사하겠습니다.

일단 상황을 말씀드리자면...

1. listen 소켓을 global 변수로 둔다.
2. 여러 스레드에서 이 listen 소켓을 이용해 accept 대기를 한다.
※ listen 소켓은 SO_REUSEADDR 옵션을 주었습니다.

위와 같은 상황에서 처음에는 뮤텍스를 하나 두고서
- 이 뮤텍스를 얻기 위한 경쟁에서 승리(?!)하는 스레드가 뮤텍스 locking 후

guriis의 이미지

memcpy 간단한 질문입니다.

WORD 를 2byte 로 BYTE는 1byte 로 정의를 했습니다.
WORD 에 0x1234 값을 저장하고 2개의 BYTE 배열에 WORD값을 복사했는데

첫번째 BYTE 에는 0x34 두번째 바이트에는 0x12 값이 들어가내요..

제가 원했던 부분은 WORD 들어간 순서대로
첫번째 BYTE 에는 0x12
두번째 BYTE 에는 0X34
값이 저장되어야 합니다.

memcpy 로는 위와같이 저장할 수 없나요..?
아니면 다른 방법이 있으면 조언을 부탁합니다.

[code:1]
typedef unsigned char BYTE16;
typedef unsigned short WORD32;
.
.
.
BYTE16 a[2];

qufdl113의 이미지

GDB디버깅.. 뭐가 문제인지. 모르겠네요.

안녕하세요.
윈도에서만 작업하다가,
리눅스상에서 서버를 만들려니 디버깅이 너무 어렵네요.
Makefile을 만들고,
make를해서 실행파일 만든후 실행파일만 실행하면 작동이 잘 되는데,
디버깅을 하기 위해서 gdb로 들어가서 디버깅 하다보면, fork가 안되고 죽어 버립니다.
:arrow: 죽는부분의 코드는 아래에.
[code:1]
// 서버 초기화
bool Init_Server()
{
// 데몬화 작업
pid_t pid;

// parent terminates
if((pid = fork()) != 0 )
{

cpkhh02의 이미지

pthread_create사용법

#include <stdio.h>
#include <pthread.h>
#include <string.h>
#include <stdlib.h>
#define n 10
void consumer(void); // thread function prototype
char buffer[n];
int in = 0, out = 0;

int
main ()
{
char nextp;
int i;
pthread_t tid;

pthread_create(&tid, NULL,consumer, NULL);

for (i = 0; i < 500; i++) {
while ( (in+1) % n == out) ;
buffer[in] = nextp; in++; in %= n;
}
pthread_join(tid,NULL);
return 0;
}
void consumer(void)
{
char nextc;

nerd™의 이미지

C 언어 ... Linked list 질문입니다.

더블링크드 리스트 질문입니다.

*노드구성

head - temp1 - tail 
head-temp1-temp2-tail
즉
head  -  temp1  -  tail
                ^
             temp2   넣기            

으로 temp1과 tail사이에 temp2를 끼어넣으려고 소스를 작성했습니다.

*1번

temp2->prev=temp1;
temp2->next=tail;
tail->prev=temp2;
temp1->next=temp2;

*2번

temp2->prev=tail->prev;
temp2->next=tail;
tail->prev=temp2;
tail->prev->next=temp2;

.

결과적으로
temp2->prev=temp1; 과 temp2->prev=tail->prev;

hyunil의 이미지

다시한번 올립니다.. 접속자 브라우저의 암호화수준 체크하는법?

접속자 브라우저의 암호화수준에 따라서 다른 페이지를 보여주려 합니다.

가령 128bit 의 ssl 서버인증을 하여 https (443) 포트로 서비스를 하는경우,

만약 사용자의 브라우저가 128bit 보안수준이 아니라면 페이지 오류가 뜨게

됩니다.. 이를 방지하고 128bit 로 업데이트를 하는 안내페이지나, 기타 다른 페이지로의

이동을 안내하려 합니다.

이에관한 방법을 알려주시기 바랍니다.

에휴.. 골치아프네요.. ^^;

verytrue의 이미지

gprof (profiling)가 stdio.h 의 함수들 실행 정보도 알아낼 수

최근에 gprof에 대해 알게 되어서 사용해보던중
embedded linux의 라이브러리에도 적용에 어려움이
있어 질문을 드립니다.

제가 알고자 하는 것은 gprof가 과연 라이브러리들
(가령 <stdio.h>)의 function들에 대해서도 function call등을
체크할 수 있는지 여부입니다

예를 들면, atoi()함수가 <string.h>에 구현 되어있다고 하면
atoi()함수를 몇번 호출 했는지, 그리고 atoi()함수의 실행에는
얼만큼의 시간이 소요 되었는지를 알 수 있는가 입니다.

제가 테스트 해본 바로는 자신이 임의로 만든 헤더파일에 있는

nayana의 이미지

gdb 다른 화일을 보려고 할때...

gdb 로 디버깅하닥 보니까...
list 하면 main 만나오잖아요....
그래서 다른 화일을 보려고...
list 화일이름 라인수
이런식으로 하니까.. 다음과 같은 에러가 나옵니다.
Can't find member of namespace, class, struct, or union named "message.cpp"
Hint: try 'message.cpp 30<TAB> or 'message.cpp 30<ESC-?>
(Note leading single quote.)
무엇이 잘못된건가요..

jenix의 이미지

여기다 올려도될런지.. 윈도우2k DNS 서버로 ddns 서비스를 하고

안녕하세요..

음.. kldp 에 올려도 되는 질문인지 모르겠군요 ^^;

윈도우2k DNS 서버로 ddns 서비스를 하고픈데 가능할까요?

만약에 가능하다면..

php 나.. 혹은.. asp 라든지.. 웹에서 수정가능하게 만들수있을까요?

이거.. 윈도우서버는 처음 접하는데.. 전혀 감이 안잡히네요.

페이지

프로그래밍 QnA 구독하기