프로그래밍 QnA

stoneshim의 이미지

expat parser 사용, element handler에서의 XML_SetUserData()

xml parser로 expat을 사용하고 있습니다.

XML_SetUserData( Parser, UserDataPtr );
XML_SetElementHandler( Parser, ... );
...

XML_Parse( Parser, Buffer, Length, 0 );

이런 식으로 사용하고 있는데요...

XML_Parse가 호출되어 XML_SetElementHandler() 로 등록된 callback 이 호출되는데, 이 callback 함수 내부에서, 다시 XML_SetUserData()를 호출하는 경우에 UserData가 제대로 setting되지 않더군요.

지금 제 상황에서는 위의 방식처럼 element Handler 함수 내부에서 XML_SetUserData()를 호출하여 UserData pointer를 변경하거나, 아니면 element Handler 함수 내부에서 xml parsing을 중단하는 방법이 있거나... 이런 상황입니다.

krisna의 이미지

NULL을 대입하는 것과 memset을 이용하는 것의 차이

struct를 malloc으로 할당하고 각 포인터 변수에 직접 NULL을 대입하는 것과
memset을 이용하여 0으로 셋하는 것에 문제가 될만한 차이가 있습니까?

예를 들어

struct some_type {
	char *ptr1;
	void *ptr2;
	MyType *ptr3;
};

struct some_type *a = malloc(sizeof(struct some_type));

/* 1: 각각 NULL을 직접 대입하는 경우 */
a->ptr1 = NULL;
a->ptr2 = NULL;
a->ptr3 = NULL;

/* 2: memset으로 0으로 셋하는 경우 */
memset(a, 0, sizeof(struct some_type));


alsgo123의 이미지

Embedded Linux 를 위해 ARM Asm 을 공부해볼까 합니다.

제목대로 임베디드 리눅스 개발보드에 리눅스 커널을 포팅 해볼려고 생각중입니다.

Target 은 StrongARM 입니다.
보드 구매시 커널 코드가 함께 오긴 하지만 assembly 는 한번도 접한적이 없어
고민끝에 질문 드립니다.

* ARM Assembly 학습은 어떻게 하는게 좋은지..........
* 관련된 자료,책,링크들이 있으면 추천 부탁 드립니다. ^^

감사합니다.

avatar80의 이미지

C++ 소스를 C로 바꾸는 작업

을 진행하려고 합니다. 덩치가 크고 간편한 소스를 C로 바꾸는 것이기에
어려움이 많다고 들었습니다.
이런 작업을 진행할때 큰 원칙은 어떤것들이 있습니까?
조언 부탁드립니다.

이상훈의 이미지

소스코드 좀 봐주세요

Aho-Corasick Algorithm 구현할려구 만든 소스인데 텍스트에서 2~8자의 문자열을 입력받고, 그것을 이용해서 트리를 생성하는 소스입니다.

트리를 배열로 구현할려고 하는데, 뭐가 문제인지 모르겠네요...ㅠㅠ

depth가 계속 증가만하고, 문자열도 제대로 입력 받지 못하는 것 같고...ㅠㅠ

고수님들 도와주세요..ㅠ0ㅠ

[code:1]
/*table.txt state table */
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
#include<fstream.h>
#include<iostream.h>

ktlsu1231의 이미지

configure, make, make install, make clean... ^^?

안녕하세요.

configure는 컴파일할 모듈들에 대한 옵션: 어떤 것을 설치하고 안하고 어떻게 하고 안하고 등등을 설정하는 것이고
make는 configure설정에 대한 컴파일을 하는 것이고
make install 은 make로 컴파일된 생성물을 설치할 곳으로 cp하는 것이고
make clean은 make해서 생성된 파일들(install할 파일들)을 지우는 것으로 대충 알고 있는데 맞는지 알고 싶습니다.
감사합니다.

alonecrow의 이미지

7.2 에서 메시지큐 버그 ( ? )

메시지큐를 이용해 프로그램을 하고 있는데
이상한 현상이 발생하네요.

메시지 큐에 데이터를 가져올때 큐에 저장된 데이타 보다 짧은 결과가 리턴됩니다.
아래 소스에서 처럼 큐에 Advanced Programming in the UNIX Environment 문자열을 넣고
꺼내게 되면 gramming int the UNIX Environment 로 앞에 부분이 잘려서 나옵니다.

레드헷 7.2에선 에러가 발생하는데 9.x버전에선 제대로 작동하는군요...
리눅스 버그인가요 ?

제 OS버전은 아래와 같구요

Linux version 2.4.9-e.24 (bhcompile@porky.devel.redhat.com) (gcc version 2.96 20000731 (Red Hat Linux 7.2 2.96-118.7.2))

bugiii의 이미지

FreeBSD에서 socket 생성시 에러가 안납니다.

안녕하세요?

FreeBSD에서 socket을 생성하는데 미리 열려진 것을 포함해서 1024개 이상을 만들 때, (개수 제한 푸는 문제가 아니구요) 분명히 -1을 리턴하든가해서 못만든다고 알려주지않나요?

왜 계속해서 소켓번호를 1024로 넘겨주는 건지...

리턴값이 -1이 되게하든가 다른 방법으로 잘못됐다는 걸 알 수 있는 방법이 있는건가요?

socket에서 그냥 넘어가니까 다음에 오는 connect에서 에러가... 우우웅...

부디 가르침을...

dewytear의 이미지

whois 도메인 검색이 안됩니다.

다음과 같은 소스를 얻어서 서버에 올리고 검색을 해보고있습니다.
소스는 제가 산 책에 있는 예제 입니다.
검색할 도메인을 적고 검색을 눌러도 도무지 검색이 안됩니다.
왜그런 건가요 ?

<html>
<head><title>WHOIS Gateway</title></head>
<body>
<center>
<font size=4 face=verdana color=NAVY>PHP WHOIS Gateway</font>
<br><br>
<form action="whois.php" method=GET>
<table width=400>
<tr><td align=center><font size=2 color=NAVY>도메인 / IP :

gnugpl의 이미지

static function이란?

static function에 대해서 자세히 알고 싶습니다.
일반적으로 C에서 파일내에서만 참조하려는 글로벌 function 이나 변수는
static으로 선언합니다.
물론 static이라는 특성을 가진채..

static은 한번만 생성되는것으로 알고 있습니다.

그렇다면 파일내에서 satic으로 선언하는것은 어떠한 장점이 있는지요?
메모리 관점에서 질문을 드립니다.

그리고 C++에서경우 static 멤버함수를 호출시에는
레퍼런스를 가지고 있지 않더라고 하더라도 직접 다른 클래스에 포함되어 있는

페이지

프로그래밍 QnA 구독하기