프로그래밍 QnA

mini7662의 이미지

[질문] ld 옵션과 libstdc++ 라이브러리에 관한 문제입니다.

g++ 로 컴파일한 라이브러리와 사용자 프로그램을

ld 로 -shared 붙여서 공유 라이브러리를 만들려고 합니다.

라이브러리를 api.so 라고 하고,

사용자 프로그램을 user.o 라고 했을때,

target.so 를 만들려고

ld -shared -o target.so user.o api.so -lstdc++ 라고 하면

ld: cannot find -lstdc++ 이라고 에러 나구요...

ld -shared -o target.so user.o api.so /usr/lib/libstdc++-libc6.2-2.so.3 식으로

직접 잡아주면 됩니다.

링크가 안 잡혔거나 하는 문제 같은데...

ldconfig 써도 잘 모르겠구요...

kimdy123의 이미지

질문] IPC[서로 다른 프로그램간의 통신]

예를 들어서 설명할께요.

Server Program:: "ServerControlWindow"
Client Program:: "ClientDrawingWindow"

ServerControlWindow::
main(){
.
.
.
ClientDrawingWindow를 invoke한다.
.
ClientDrawingwindow에게 뭔가를 그리라고 지시한다.
ClientDrawingwindow에게 그리라고 지시한다음 시그날을 받아
제대로 그렸는지 확인한다.
ClientDrawingwindow로부터 시그날을 받에 거기에 정해져 있는
procedure를 진행한다.

firster의 이미지

[질문] preemtive와 nonpreemtive?

유닉스에 맛들인지 얼마되지 않은 초보입니다. 음, 프로그래밍도 초보라고 할 수 있습니다.
unix internals라는 책을 구입해서 보고있는 중에 꽤 자주 나오는 단어인데, 제가 어렴풋이 알고있는 지식으론 오히려 이해에 방해가 되는 것 같아서 여기 질문을 올립니다.

한글로는 선점형(preemtive)과 비선점형(nonpreemtive)이라고 말하며, 선점형은 OS가 주도권을 독점하여 스케쥴링에 의해서 우선권이 높은 프로세스에게 CPU 사용권을 넘긴다 정도만 알고 있습니다. 뭐.. 그 와중에도 OS는 항상 감시의 눈을 떼지 않는다는 추상적이고 대략적인 감만 잡고있는 수준입니다. 반대로, 비선점형은 실행중인 프로세스에게 모든 제어권이 있어서 해당 프로세스의 잘못으로 인하여 다른 프로세스나 OS 자체에까지 큰 영향을 미칠 수 있다는 것으로 알고있는데요.

darma3069의 이미지

아래글 init_IRQ()에서 또 궁금한 점이....

님께서 링크해주신 자료도 뒤지고 8254 데이터쉬트를 찾아서 보았습니다.

그래서 제가 알아낸 결과는

outb_p(0x34, 0x40) 0x34값으로 0x40 port의 모드(?)를 binary, mode2, counter0, R/W, binary counter 16-bit라는 것을 알게 되었습니다...

그런데 제가 리눅스 초보라서

outb_p(LATCH&0xff, 0x40) 
outb_p(LATCH<<8, 0x40) 

부분이 그래도 이해가 안되는군요 ㅜㅜ

0x40은 channel 0 counter(r/w)라는 설명만 되어 있고
무엇을 의미하는지 잘 모르겠습니다. datasheet에는 그냥 counter0-2까지의

류종훈의 이미지

[질문] 리눅스 콘솔에서 HideCursor() 함수 사용

제목대로 리눅스 콘솔에서 HideCursor()함수를 사용하려는데

이에대해 아시는 분 답변 바랍니다.

ShowCursor()함수도요..

혹시 위의 함수가 콘솔에서도 같은 기능을 가진 또다른 함수가 있는지요?

skjk의 이미지

[질문] blocked I/O로 TCP socket 사용시 정상상태에서 중간에

UNIX에서 MSG_WAITALL옵션을 주지 않는 한 TCP 소켓에 대해 blocked I/O로 Maximum Segment Size보다 큰 바이트수만큼 수신을 요청한 경우엔

정상상태임에도 불구하고 지정한 바이트 수보다 적은 바이트가 전송된 후 read나 recv가 반환될 수 있고.. 이 경우 나머지 만큼 다시 수신을 시도해야 하는 것으로 알고 있습니다. (Stevens책의 readn형식으로)

근데 Stevens책에 보면 write나 send의 경우엔 에러가 나거나 signal이 발생했거나 접속이 끊긴 경우가 아니라면 무조건 지정한 바이트를 다 보낼때까지 block하고 있다고 나오더군요.. MSG_WAITALL옵션도 송신시에는 쓰이지 않구요..

elecguy의 이미지

gcc, glibc 빌드 과정을 이해하려면?

안녕하세요.
지금 크로스컴파일러 를 빌드하고 있는데 에러가 생기면 어떻게 처리해될지
무천 난감합니다.
binutils 는 쉽게 빌드되더군요.

gcc 와 glibc 가 문제가 많이 발생하더군요 쩝.
에러가 발생해도 이해할 수 없는 스크립트들..
gcc 와 glibc 의 빌드과정을 전체적으로 이해하고 싶은데
어디서 출발해야되는지 난감합니다.
관련 문서찾기가 힘드네요.

또 어떤 선행학습이 필요한쥐.

좋은 참고자료 알려주시면 감사감사..
그럼.

베리스타의 이미지

현재디렉토리만 출력되는데 서브디렉토리 내용까지..

제가 아래 질문 한것 그냥 opendir 써서 디렉토리 내용만 가져왔는데, 이거를 하긴 했는데

그 서브 디렉토리내용까지 다 출력하고 싶으면 어떻게 해야 하나여?ㅡㅡ;

서브디렉토리까지 다 출력해야 할텐데.

지금은 현재디렉토리만 출력되네요>.<

서브 디렉토리까지 출력된는 법좀 알려주셈.

[code:1]
#include <sys/types.h>
#include <dirent.h>
#include <stdio.h>

int main(int argc , char *argv[])
{
DIR *dir;
struct dirent *dent;

dir = opendir(argv[1]);

damping의 이미지

C에서 시간을 조건문으로 하려고합니다.

안녕하세요. C초보자입니다.
지금 C에서 날짜를 체크하는 것을 만들려고 합니다.

제가 하려는 것은 시스템의 날짜(혹은 시간)와 주어진 날짜가 같을경우의
조건문을 만들려고 합니다.
그래서 알아보다가 time.h 에 struct tm을 사용하려고 했는데
잘 안되어서 설명 및 다른 방법에 대한 조언을 구하려고 합니다.

*tm은 연월일시간분초 와 tm_isdst 을 넣어주어야 되더군요.
그런데, tm_isdst의 역할을 무언지요?

그리고 전 날짜비교만을 할 것이기에 연도와 시간등은 필요가 없는데

rokmn3309의 이미지

터미널에서 모든 터미널에게 공통적으로 뿌리는 메세지 처리..

이번에 터미널 프로그램을 curses로 간단하게 만들어 봣는데..
nfs나 몇몇 시스템적인걸 재시작하면은 컴에서 그걸 모든 터미널에게 뿌리는것 같은데 화면에 이상한게 출력되서 이걸 무시하게 만들려고 합니다.

약간이라도 관계되시는걸 아시는 분은 리플 달아주세요...

페이지

프로그래밍 QnA 구독하기