프로그래밍 QnA

bhdsb956의 이미지

[완료] 약간은 엉뚱(?)한 포인터 질문입니다.

안녕하세요.

이제 C책 한권정도를 보고, 프로그램을 다시한번 짜면서 확인하는 학생입니다.
코드 작성중에 포인터에 대해 궁금한점이 있어서 문의 드립니다.

좀 엉뚱한 질문이더라도 양해해 주시기 바랍니다.

void func(char ** pstr)
{
    // 어쩌고.. 저쩌고..
    *pstr = (char*)malloc(len+1);
    strcpy(*pstr, buf);
}
 
void main()
{
    char * str;
    func(&str);
 
    printf("%s\n", str);
}

보시다시피 func()함수에 포인터를 넘겨, 메모리를 할당받고 문자열을 복사받아 돌려받는 코드입니다.

이걸 하다보니 func를 이중포인터로 하지 않아도 되지 않을까? 라는 기발한(이라고 써놓고 쓸데없는 이라고 읽습니다만) 생각이 들었습니다.

ONLYLOVE의 이미지

리눅스에서 C언어를 이용해서 DB를 제어하려는데..

전에는 Pro*C로 작업을 했었는데..

오라클에 종속되고 버전을 많이타고, 불편한게 여간 많더라구요..

결국 자바 개발자가 다시 자바로 바꾸긴했는데..

혹시 C언어로 DB를 제어하는.. 많이 사용하는 방법이 있는지 질문드립니다.

jick의 이미지

C style로 escape된 스트링을 원상태로 되돌려주는 Perl 함수?

안녕하세요,

일을 하다 보면 UTF-8로 된 스트링을 C style로 escape한 결과물을 만날 때가 많은데요 (워메 이게 한국어여 영어여... -_-)

이를테면 "가나다" => "\xEA\xB0\x80\xEB\x82\x98\xEB\x8B\xA4" ...

이런 형태의 스트링이 escape 안된 스트링과 마구 섞여있습니다. 말하자면 이런 식이죠.

field1: 1
field2: "hello"
field3: "data = \xEA\xB0\x80\t..."

Perl에서 이런 식의 텍스트를 escape하기 이전의 형태로 바꾸는 간편한 방법이 없을까요?

Python에는 decode('string_escape')라는 좋은 함수가 있던데, 문제는 제가 python에 영 서툴러서요, 그때그때 필요한 방식으로 써먹기 어렵더군요.

ludwings의 이미지

java packet block

jpcap 을 이용해보니 패킷 캡처는 되는거 같던데 패킷을 차단하는 기능은 없는것 같네요

이런기능을 하는 라이브러리가 잇나요?

얍삽하게한방의 이미지

wxworks .PPC 프로그래밍 어렵 ㅡ.ㅡ

vxworks 653 에서 PPC 에서 개발 중입니다.

이제 시작하려고 하는데요

처음에 걸리는것이 인터럽트 이네요

OS가 들어가니까 OS 초기화 하면서 UART를 초기화 하면서 (intConnect(1번채널과 2번채널 벡터))

UART가 OS에서 인터럽트를 벡터(콜벡함수) 를 등록 해버려서 제가 만든 어플리케이션에서 인터럽트 벡터를 등록할 수가 없네여

결국은 제가 콜벡함수를 등록할 수가 없으니 어플리케이션에서 인터럽트 서비스 루틴을 실행할 수가 없습니다.

이게 OS에서 먼저 등록해 버려서 그런것인지 아니면 제가 설정을 잘못한것인지는 모르겠는데

암튼 vxworks에서 인터럽트 벡터 등록하는거 아시는분 좀 도와주십시여

조흔하루되세요

pyobegy의 이미지

Linux에서 QT로 만든 Application 아이콘 설정하는 방법 (Desktop ICon 을 뜻함)

QT 로 Application 을 하나 개발했습니다.
환경은 Fedora15 구요, static build 하여 실행파일이 하나 떨어졌네요~
근데.. 실행파일에 아이콘을 넣어주고 싶은데.. 어떻게 넣어줘야 할지 감이 안옵니다.

Mac 에서는 ICON = xxx.icns 라고 해주면 간단하게 아이콘이 적용되었었는데..
이궈 뭐.. Linux 쪽은 어떻게 하라는 말인지, 도무지 이해가 안됩니다. (리눅스 초짜라 뭐.. 그럴수도 있다는 생각에..)

수많은 노력과 검색을 통해 여기저기 기웃거려보았답니다.

기본적으로
http://doc.qt.nokia.com/4.7-snapshot/appicon.html 를 참고했으나, 음... 사용법을 모르겠군요..

혹시..

방법을 아시는분 쫌 가르쳐 주세요!!

익명 사용자의 이미지

펄에서 진수변환할때요

16진수를 2진수로 바꾸려고 하는데요

1. 0x..의 형태가 아닌
그냥 3D 이런식으로 되어있는 진수는 변환 못하나요?

2. 변환 못하는 경우
"3D"에 0x를 삽입하고 싶은데 그냥 해보니 0x"3D"로 붙습니다.

"0x3D" 나 따옴표도 없애고 0x3D로 표현할 방법이 없나요?

우선

open(F1, " open(F2, '+> hex.asc') or die ("zzz");

while(>F1>){

@spl = split(/,/, $_);

@ad = '0x', $spl[7]; #8번째 줄이 16진수
$sp = hex($ad[7]);
$bin = sprintf ("%b", $sp);

print F2 "@ad\n";
}

close F1;
close F2;

jyoung19000의 이미지

[완료]error C2106: '+=' : 왼쪽 피연산자는 l-value이어야 합니다. 요 에러가 왜나는지.. 좀 알려주실수 있을까요?

PVOID pHistRec = 0;
pHistRec = (BYTE*)pHistRec += 0x10;

이 코드가 실행되면 C2106 error가 나오는데
왜 그런지 모르겟네요.. 제가 한건아니고 오픈소스에서 이렇게 되어있길레 되는지 알았는데..

season12의 이미지

[완료]IOCP WSAsend 관련 질문좀 드리겠습니다~

iocp 로 서버 만드는 작업중입니다~

클라이언트에게 데이터를 보낼때 wsasend로 보내는데요..

wsasend는 함수 호출과 동시에 리턴이 되므로

데이터를 전부 보내지 않았는데도 함수가 종료되서 데이터가 손실될수도 있기에

따로 저장후 wsasend를 호출해야 한다고 알고 있습니다.

따로 저장해서 wsasend까지는 호출해서 데이터는 잘 가고 있는데

보내진 데이터를 지워야 하는데 언제 지워야 하는지 모르겠습니다..

계속 저장만 해나가고 있습니다...

초보프로그래머에게 빛을 주세요~

좋은 하루되세여~

------------------------------------------------

혼자 여기저기 뒤지다가 해결했습니다...
좋은 주말 보내세요~

eastcirclek의 이미지

제가 임의로 설정한 폴더에 위치한 library file들(*.so)를 LD_LIBRARY_PATH를 써도 못 읽을 때 어떻게 하죠?

상황을 말씀 드리자면

일단 linux machine에 root권한을 일부러 얻지 않고
제 홈디렉토리 밑에 프로그램들을 깔고
~/bin을 PATH 환경변수에 추가해놓고
~/lib를 LD_LIBRARY_PATH 환경변수에 추가해놓고
필요한 program들이나 library들을 설치해서 쓰고 있습니다.

그런데
몇몇 프로그램에서 필수는 아니지만 readline을 요구 하고 있어서
~/lib에 readline을 설치했지만 이걸 다른 프로그램이 설치될 때 읽지를 못하네요(예-postgresql 8.4)

/lib에는 분명히 libreadline.so.6이라는 파일이 있지만 이건 읽지 못하는거 같아서
~/lib/libreadline.so를 /lib에 강제로 복사했더니 잘 됩니다(-_- 이유를 모르겠네요)

아무튼 요점은
제가 임의로 사용할 library들을 ~/lib에 copy해놓고
LD_LIBRARY_PATH에 그 폴더를 추가 해 놨는데, 다른 프로그램이 그 안에 있는 파일들을 못봅니다.

페이지

프로그래밍 QnA 구독하기