프로그래밍 QnA

neohwang의 이미지

실행파일이 있는 디렉토리로 이동하는 함수가 있나요?

실행파일 명이 test.exe 일 때,

해당 디렉토리에서 ./test.exe 를 실행 시키거나
절대경로나 상대경로를 사용하여 실행 시켰을 때

test.exe 프로그램 내에서 home directory를 test.exe가 있는 위치로 옮겨주는 함수가 혹시 있나요?

현재는 argv[0]을 분석하여 home directory를 옮기도록 만들었는데,, 혹시 함수가 있나 해서요...

그럼.. 많은 도움 부탁드립니다.

참, 환경은 UNIX 계열 및 Windows 계열 다 필요합니다.

raymundo의 이미지

실행화일이 동적라이브러리 경로를 절대 경로로 하고 있어서 사

음.. 질문이 애매한데요, 제가 리눅스 시스템에서 라이브러리 등에 대해 잘 알지 못하는 상황이라...

일단 상황을 적어보면

make 를 통해 실행될 몇 가지 실행화일들이 있는데, 실행하려면 ld-linux.so.1 과 libc5.so.5 를 요구를 합니다.

시스템에는 /lib 밑에
/lib/ld-linux.so.2 (/lib/ld-2.3.2.so 로 심볼릭 링크)
/lib/libc.so.6 (/lib/libc-2.3.2.so 로 링크)
밖에 없어서 실행이 안 되고, 저는 root 권한이 없습니다. (정확히 말하면,
root 권한이 있긴 한데 그 권한 없이 해결할 방법을 찾는 거죠)

lecardos의 이미지

........

/.....

changkhan의 이미지

pthread 잠재우기;;

[code:1]#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <signal.h>
#include <pthread.h>

////////////////////////////////

pthread_t thread;
void* Thread(void* pArgs);

////////////////////////////////
void sigInt(int sig)
{
int res = pthread_cancel(thread);
sleep(1);

printf("sdfsdf %d\n", res);
exit(1);
}

void main(int argc, char* argv[])
{
try {
signal(SIGPIPE, SIG_IGN);
signal(SIGINT, sigInt);

winicon의 이미지

[질문] cygwin에서 컴파일 문제....

안녕하세요.

변수 선언을 코드 중간에 했을때 cygwin에서 gcc 컴파일을 하면

되고 리눅스 상에서 직접 하면 에러가 나오네요.

버그 인지 아니면 원래 그런건지 ?

경험 있으신분은 답변 부탁 드립니다.

수고하세요. ^^ :D

merely_c의 이미지

ether packet 을 만들어서 보낼려고 합니다.

ethernet packet 을 만들어서 보낼려고 합니다.
완전한 하나의 frame 을 유저영역에서 만들어 보낼려고합니다. SOCK_RAW 는 ip 까지여서 ethnet 헤더를 는 못만드닌깐 SOCK_PACKET 을 쓰면 된다고 man page 에는 나와 있드라구요....

그런데 SOCK_PACKET 으로 플그램 하면 socket open 에서는 에러가 안나는데. sendto 할때 No such device 라는 에러가 나옵니다.

유저영역에서 커널 TCP/IP 스택을 타지 않고 완전한 frame 을 보낼수 있는 방법을 좀 알려 주세요....
그럼 감사합니다. 계속

neu의 이미지

트랜스퍼 벡터에 대해 알려주세요

리눅스 소스코드를 공부하고 있습니다. 라이브러리에 속한 함수를 응용프로그램에서 호출할 때 프로그램 내부의 트렌스퍼 벡터를 통한다고 읽었습니다. 정확히 그 트렌스퍼 벡터는 어떤 세그먼트 (텍스트, 데이터 등등)에 속하고 컴파일시 어떻게 다루어지는지 궁금합니다.

for1003의 이미지

C에서 수치 값들의 표현 범위

limit.h를 열어보면...

SCHAR_MIN -127
INT_MIN -32767
...

로 되어 있네요..

정수 표현에 의하면... signed char는 -128 ~ 127
signed int는 -32768 ~ 32767의 범위를 가질텐데...

왜 이렇게 최소값이 1이 차이가 나는 걸까요?

envy100의 이미지

system call 과 library call 차이

죄송합니다. 이런 질문까지 해서
그런데 찾아봐도 시스템 콜은 운영체제에서 지원하는 함수이고
library는 시스템 콜을 사용하기 쉽게 만들었다는 뭐 그런 얘기들만 있어서요

제가 알고 싶은 부분은요
System call
Never allocates space for parameters

Library call
Can allocate space for parameters

라고 나오던데요 이게 무슨 소리인지 잘 모르겠습니다.

좀 알려주세요 무슨 차이인지 그럼 감기 조심하시구요
좋은 하루 보내세요 :wink:

hanna의 이미지

C Library

GNU C 라이브러리 코드를 보고 싶은데.. 예를들어 malloc 함수의 실제 구현부분 등등 .. 어디에 들어있나요? glibc 만 풀었더니.. 코어는 없는것 같던데...

페이지

프로그래밍 QnA 구독하기