프로그래밍 QnA

goodssh의 이미지

[완료] 오직 Map 파일과 Execution 파일로만 디버깅하기

DEBUGGING APPLICATION .NET AND WINDOWS 라는 책에선 MAP파일로 Crash point 를 얻어서 정확히 오류가 난 Line 을 찾아내는 섹션이 나옵니다.

해당 섹션을 Windows 7 x64 환경에서 실습해보기 위해 간단한 MFC 폼으로 할당되지 않은 포인터의 값을 지움으로써 crash를 냈습니다.

그러나 바로 crash point를 알려주는 메세지 박스는 뜨지 않고, 디버거를 연결시킬 수 있게 OS가 동작하더군요. VS2010 디버거를 연결하니 해당
crash point를 주긴 주는데...... 해당 주소가 정확한 주소가 아닙니다.

예를 들어,

byulparan의 이미지

select 함수로 여러 소켓의 상태를 감시할 경우.


구글에서 여러번 검색을 해봤는데 비슷한 질문은 많은데 시원한 답변이 없어서
질문드려봅니다.

select 함수로(혹은 다른 멀티플렉싱 도구들로..) 여러 소켓의 입출력을 관리할때
대게 소켓은 논블로킹으로 설정한다는 설명을 보았습니다.
libevent 의 예제들을 봐도 소켓을 논블록으로 설정을 하더군요.

그 이유가 무엇일까요?
select 라면, readable 혹은 writable 하기때문에 리턴되고, 때문에 해당 읽기/쓰기가
블로킹 되지 않는다는 걸 보장 하지 않나요?

검색중에 다음을 보고
http://superkkt.com/81

아..이경우 write 가 블로킹 될 수도 있겠구나…..함을 알았습니다.^^;;

ant01의 이미지

html 작성시 브라우져 마다 다르게 보이는 현상

php로 조그마한 프로그램 짜고 있습니다.

그런데 윈도우에서 적당하게 보이도록 화면 디자인 했는데

리눅스에서 브라우져 열어보니 크기나 글자 위치 등이 많이 달라서 고민입니다.

어떻게하면 브라우져마다 똑같이 보이게 프로그램할 수 있나요?

여러분의 도움 기다리겠습니다.

wnghsla2000의 이미지

정말기본적인 문제일수도있는데 소켓프로그래밍중에..

tcp/ip소켓프로그래밍 관련 서적으로 이제 막 공부시작한 꿈나무인데요

unistd.h나 arpa/inet.h같은 확장헤더는 리눅스에서쓰지 윈도우에서는 쓰지 못하는것같더라구요

그래서 일단 이것저것 시도해보다가 cygwin을 설치중인데 너무느려서 혹시나 mingw로 될까해서 해봣는데 역시나..;

arpa/inet.h' no such file or directory 지금 계속 이렇게 fatal error가 나는데 이거 헤더 파일이 없어서 나는 에러맞죠?

헤더파일을 구하면 해결이되나요?? 어디서 구해야될지도모르겟어요 엉엉 ㅠ_ㅠ

bluekyu의 이미지

[완료]C++에서 static 멤버 변수를 함수로 초기화 해야 하는 경우, 어떻게 하면 좋을까요?

데이터 구조가 특이해서 어떤 형식으로 객체를 만드는 것이 좋을 지 감이 안 잡혀서 질문을 올려봅니다.

아주 간단한 구조로 표현하면 아래와 같이 되어 있습니다.

struct A
{
    static const int list[10];
};

그런데 list가 복잡한 값을 가져서 여러 계산을 거쳐서 초기화 되어야 합니다. 그리고 A는 여러 개가 생성될 수 있습니다.

이를 해결하는 방식으로,
1. 초기화를 확인하는 변수를 하나 두고, A 객체를 처음 생성하면 생성자가 list를 초기화 합니다. 그리고 다른 A 객체가 생성되면 이미 초기화 되었으므로 다시 초기화 하지 않습니다.

2. 아래와 같이 객체를 중첩시키는 방식도 생각해봤습니다.

inwjivj의 이미지

vm_area_struct와 mmap에 대해 질문입니다.

리눅스 커널을 공부하는 학생입니다.

vm_area_struct는 가상 메모리의 구역을 나눠주는 구조체로 알고 있는데요.

어떤 책을 보니까 vm_area_struct는 프로세스의 text, data, stack, heap 영역등을 나눠준다고 들었는데요.

그럼 text영역당 vm_area_stuct가 하나, data영역당 vm_area_stuct 하나씩 등으로 만들어지는 건가요?

mmap 라는 명령어는 vm_area_struct를 만들어준다고 알고 있는데요. text, data, stack, heap 중에 어느 부분에서 생기는건가요? 상관이 없는건가요?

마지막으로 커널 영역도 vm_area_struct로 메모리 영역을 받는건가요?

gomnutu의 이미지

윈도우-리눅스 간의 소켓통신으로 실시간 데이터 전송하는 방법 질문입니다.

현재 윈도우에서 C#으로 구현한 UI에서 버튼(방향키)의 값을 소켓을 통해 리눅스(Arm 보드)로 보내려고 합니다.

먼저 윈도우와 리눅스 사이에서 소켓통신이 먼저 되는지 확인하는게 순서겠지요?

여기서의 문제는 호환이 되는냐의 문제인데 함수명 몇개 다른거 빼고는 차이점이 거의 없다고 하더라구요.

그다음이 문제인데 실시간으로 방향키의 값을 어떻게 보내줄 수 있나요?

해본거라고는 채팅 프로그램과 같이 "Hello"을 치고 엔터를 치면 보내지고 그런 형식밖에 모르겠습니다.

그리고 방향키의 값은 데이터가 사라지면 안되니깐 TCP통신을 사용해야 할것 같구요...

ps) C#에서 구현된 UI 소스안에 그대로 winsok을 작성하면 되는지요?
아니면 winsok을 짜고 UI를 작성해야하나요?

astzlra955의 이미지

Blob에서 머신 넘버 설정 하려고 합니다.

kernel.org에서 받은 커널을 XHyper 320 TKU 보드에 포팅하는 중인데요,

제가 알기로는 부트로더와 커널의 머신 넘버를 일치시켜야 한다고 알고 있습니다.

이 보드는 blob을 사용하는데요...

blob에서는 어떻게 머신 넘버를 변경할 수 있나요?

dehetdehet의 이미지

[ 완료 ] [ VS9.0 ] dll 프로젝트에서 lib사용하기

dll프로젝트( MFC )에서 lib를 받아와 사용해야 하는데요.
CRT 설정이 dll은 /MDd, 사용해야 하는 라이브러리는 /MTd로 작성되어 있습니다.

역시나 그냥 실행하니 LNK2005 에러가 마구마구 나오는데요.

CRT는 라이브러리 무시로 처리하니 정리가 되는 느낌인데요.
빌드하면 CPRT( C++ Runtime Library )에서 링크에러가 마구마구 나옵니다. c++ 코드가 안들어갔을리가 없으니-_-;;
여기서부턴 거의 문외한인지라 CPRT까지 무시할 라이브러리에 추가했다가....-_-포풍 에러를 만났습니다.

반대의 경우인 lib프로젝트에서 dll을 사용할때의 문제가 stackoverflow에 올라온걸 봤는데요, 거기서는 컴파일러 명령줄에서 /FORCE옵션을 사용하라는 글이 보이더라고요.
제 경우에는 잘 적용되지 않는 것으로 보입니다. 애초에 변경점이 없으니 제가 제대로 적용하고 있는지도 모르겠고요.

사실 DLL을 처음 사용해 보는지라, 아직도 많이 혼란스럽습니다.

이 문제점을 해결할 수 있을까요?

페이지

프로그래밍 QnA 구독하기