프로그래밍 QnA + 설치 및 활용 QnA + 질문

fourier의 이미지

리눅스에서 빌드할때 일부 라이브러리만 static으로 빌드할 수 있나요?

안녕하세요.

리눅스에서 빌드할때 일부 라이브러리만 static으로 빌드할 수 있는지 궁금합니다.

gcc 옵션에 -static을 주면 .a가 있으면 스태틱으로 빌드하고, 없으면 shared로 빌드하는것 까지는 압니다.

하지만..제가 원하는건..

모두 스태틱으로 빌드하는 것이 아니라.. 일부 라이브러리만 스태틱으로 빌드하고 싶은겁니다.

예를들어.. libc6.so 와 libc6.a이 /lib에 둘다 있는데, 이 라이브러리만 libc.so로 빌드하고 싶습니다.

그 외 다른 라이브러리들은 shared로 빌드하고 싶습니다.

이것이 가능한건지 궁금합니다.

taijiun의 이미지

프로그램 별로 disk io를 측정하고 싶은데 리눅스에서 어떤게 있나요 ??

제가 짠 프로그램을 돌릴때 disk io를 측정하고자 합니다.
단순히 프로그램 안에 time 함수를 넣어서 측정하는 것이 아닌
내가 짠 프로그램에 대한 디스크 io 시간 및 성능등을 보여주는 벤치마킹 프로그램이 없는지 궁금합니다.

siba555의 이미지

소켓 send시 라이브러리 에러 메시지가 전송되요.

안녕하세요. ffmpeg를 이용해서 인코딩 하는 서버 개발중입니다.
클라이언트와 통신을 하는부분에서 서버에서 send메시지를 클라이언트로 보낼때 ffmpeg에서 에러 발생시 내용이 클라이언트로 전송되는 문제를 확인했습니다.
send버퍼도 별도로 사용하고 하는데 어떻게 이런일이 일어나는지 모르겠네요..
서버에서 클라이언트로 send하고 리턴 바이트수를 찍어보면 보낸바이트수가 맞게 나오는데 클라이언트에서는 헤더가깨져서 내용을 디버깅해보니 말도안되게 ffmpeg에러string이 들어있네요..

jjangljjh의 이미지

루비언어로 코딩을했습니다. 실행파일로 만들수 있을까요?

수업 과제로 루비를 이용해서 무결성검사 프로그램(.rb)을 만들었습니다.
교수님께서 실행파일(.exe)로 제출하라고 하시는데
검색해봐도 실행파일로 만드는법이 안나옵니다
방법좀 알려주세요

skylit의 이미지

svnadmin load 에서는 특정 revision 범위만 선택할 수 없는 것일까요?

안녕하세요?
연구실의 SVN repository를 옮기려고 이전 repository를 통째로 dump 했다가, 새로운 서버에서 dump된 파일을 svnadmin load 명령으로 복구를 하던 중간에 작업이 중단되고 말았습니다.
예를 들면 최종 revision 번호가 10000인데, 7000까지 load해 오다가 중단된 상태입니다.

저는 그래서 7000부터 다시 load를 시작하면 시간이 절약될 것 같아서 찾아보는데, 아무리 찾아도 svnadmin load 에서는 그런 방법이 없네요...
즉, repository 전체를 dump한 파일에서 일부 revision 범위만 load할 수도 있을 것 같았는데 그런 옵션을 찾지 못하고 있습니다.

revision 범위를 지정하는 옵션은 svnadmin dump 할 때에만 있는 것인가요?
결국 위의 예를 빌리자면, revision 7000부터 10000까지 해당하는 새로운 dump 파일을 만들어서 load하는 방법밖에는 없는 것일까요?

twince의 이미지

윈도우 - 네트워크 드라이브 공유...?

학교 연구실에 있는 NAS에 접속을 하는 문제 때문에요, 사설 안의 사설대역을 쓰기에 VPN을 사용할 수밖에 없었습니다. 다른건 다 잘 됩니다만, 네트워크로 연결한 드라이브 (가령 Z:) 를 공유 하고 싶은데, 해당 기능이 없는건지, 제가 못 찾는건지 알 수가 없네요. 어떡하면 좋을까요?

alexei123의 이미지

3개의 c파일로 makefile만들고 싶은데 어디가 잘못된지 잘 모르겟습니다


1 CC = gcc
2 CFLAGS = -W -Wall
3 TARGET = 1.out 2.out 3.out
4 SRCS = 1.c 2.c 3.c
5 OBJECTS = 1.o 2.o 3.o
6
7 $(TARGET):$(OBJECTS)
8 $(CC) -o $(TARGET) $(OBJECTS) $(CFLAGS)
9
10 $(OBJECTS): 1.c 2.c 3.c
11 $(CC) -c 1.c 2.c 3.c
12
13 clean:
14 rm -rf *.o *.out
~

폴더에
1.c 2.c 3.c 들어있는 상태에서
make입력하면

jic5760의 이미지

DLL에서 NamedPipe을 사용할 수 없습니다...!

지금까지 여러 상황을 테스트 해서 좀더 원인에 접근하게 되었습니다...
우선 문제는...
CreateProcess으로 Suspend상태로 프로세스를 생성하고
그 프로세스에 LoadLibrary으로 DLL을 로드하고 DLL에서(DLL_PROCESS_ATTACH) CreateFile을 하는데 그러면 문제가 생깁니다.
생성한 프로세스의 Thread을 ResumeThread하는데 6(ERROR_INVALID_HANDLE) 오류가 납니다.
그런데 CreateFile은 잘 작동이 되구요...


그런데 새로 알아낸 것이 있습니다.
CreateFile에서 NamedPipe가 아니라 일반 파일 (D:\\test.txt) 같은 파일을 Open하면
이런 문제가 발생하지 않습니다.
NamedPipe을 Open하면 이런 현상이 생깁니다.....
참 이상하네요.. 하하하...;;;;;;

추가... MailSlot도 정상적으로 되네요... NamedPipe만.........

페이지

프로그래밍 QnA + 설치 및 활용 QnA + 질문 구독하기