프로그래밍 QnA

dalmagi의 이미지

[완료] IP 변조가 안됩니다.

raw socket 으로 소스 아이피를 변경시켜보고 있는데요 일단 정상적인 아이피와 그 주변 아이피를 넣으면 제대로 도달 하지만, 임의의 아이피를 넣으면 도착하지 않네요.
이건 무슨 문제인가요? 중간에 라우터 등지에서 패킷 필터링이라도 하는건가요 아니면 프로그래밍적인 실수의 가능성이 있는건가요?

kwonsu의 이미지

user에서 mmap 사용할때 kernerl 에 있는 자료는 무조건 kmalloc로 할당된것만 가능한가요?

안녕하세요.

kernel에서 배열로 생성된 자료를 user에서 mmap으로 가져오는 방법을 생각하고 있습니다.

처음 생각한게 copy_to_user로 하려 하였으나 이건 같은 자료를 두번 가지고 있는것 같아 패스하고 mmap으로 사용하는 방법을

생각했습니다.

kmalloc로 공간 하나 만들고 이것을 user에서 mmap로 읽고 수정하는 것은 되는데 배열로 한것은 되지 않더군요.

배열도 힙에 생성되는것으로 아는데 그렇다면 주소만 참고하도록 하면 되지 않나요?

감이 잘 오지 않습니다. 짧은 코드나 방향성이라도 알려주시면 감사하겠습니다.

그럼 수고하십시요.

rgbi3307의 이미지

커널 메모리 할당 slab/slob/slub 의 차이점이 뭔가요?

제목 그대로 입니다.
리눅스 커널에서 slab/slob/slub 관련 소스들이 각각 존재하는데,
보통은 slab을 쓰고, 임베디드에서는 slob을 쓴다는군요.
slub은 slab과 slob의 단점을 개선한것 정도로 아는데.. 맞는지요?

outsyder의 이미지

emacs "s-xxx" is undefined

최근 emacs에 재미를 붙여 쓰고 있는데 이상한 점이 있습니다.

가끔 "s-xx" is undefined란 메시지가 뜨네요
예를 들어 ctrl-g를 누르면 C-s-g is undefined라고 메시지가 뜹니다.
어떤 문제인지 모르겠지만, 참 난감하네요.
이 상황에서는 뭘 눌러도 명령어 가운데 또는 처음에 "s-"란게 붙습니다.

환경은 x-shell에 vmware ubnutu를 사용하고 있습니다.

고수님들 조언 부탁드립니다.

winner의 이미지

C++ 에서 null pointer 의 안전한 정수변환에 대해서 묻고 싶습니다.

C에서는 NULL 이 통상 ((void*) 0) 이기 때문에 걱정이 적습니다만 C++에서는 NULL 이 0 이기 때문에 형 인식과 관련해서 고민이 생깁니다.
저는 null pointer 를 implementation defined 에 의해 안정적으로 정수형으로 변환했다가 꺼내 쓰고 싶은데요.
이것이 API 에 의해서 정수형으로 전달되기 때문입니다.
예를 들어 API 에서 intptr_t 를 매개변수로 가진다면 C++ 에서는
static_cast<void*>(0) 를 전달해야 하는 것인가요?
즉 trans_api(intptr_t param) 이라는 API 에 NULL ointer 를 전달할려면

acedon의 이미지

[완료]RPM Package 제작 시 Signing 관련하여 에러 발생합니다

안녕하세요,

다름이 아니라, DKMS라는 프레임워크를 이용하여 RPM Package(ex. test.rpm)를 생성하였습니다.

이 test.rpm은 현재 Signing이 되어있지 않습니다.
그래서 rpm --addsign test.rpm을 통하여 signing을 진행하려 했지만 아래와 같은 에러 메시지만 출력됩니다.
- rpm: test.rpm: No such file or directory

참고로 이곳(http://fedoranews.org/tchung/gpg/)참조하여 진행 했습니다.

아시는 분이나 참고할만한게 있다면 답변 부탁 드리겠습니다.

declspec의 이미지

OpenWrt 포팅가능한 무선공유기

안녕하세요
OpenWrt 를 포팅할수있는 무선공유기로
버팔로 WZR 시리즈중 하나를 가지고있는데요
실험용으로 공유기를 하나 더 사고싶은데
지금 가지고있는 기종이 단종된거같아서...
OpenWrt 포팅가능한 무선공유기
쉽게 구매가능한거 어떤게 있을까요?
가격은 좀 싼거...

dltkddyd의 이미지

동적 할당한 이중포인터에서 마지막 해제

ytube라는 이중포인터를 만들었습니다. 그리고 포인터를 지울 때 delete를 다음과 같이 두 번 사용하는 것이 맞는지 궁금합니다.

int main() {
myTest **ytube=new myTest*;
ytube[0]=new myTest(10,"구름");
ytube[1]=new myTest(30,"폭우");
ytube[2]=new myTest(40,"고양이");
//ytube[3]=NULL;
int i=0;
while(ytube[i]) {
ytube[i]->output();
if(i>=2) break;
i++;
}
i=0;
while(ytube[i]) {
delete ytube[i];//요 부분과
if(i>=2) break;
i++;
}
delete ytube;//요 부분 말입니다.
}

Zpdlzpdldpa의 이미지

C언어로 짜여진 프로그램 안에 어셈블리언어를 넣으면 실행 속도가 빨라지나요?


OS같은 시스템 프로그램에서
C언어와 어셈블리 언어가 섞여져있는 코드를 봤습니다.
그 이유는 어셈블리 언어가 하드웨어를 직접 제어할 수 있기 때문이라고 알고 있었는데
혹시 실행 속도와도 관련이 있나요?

제 생각은
프로그램이 실행되기 전에
컴파일러가 C언어를 어셈블리로, 어셈블러가 어셈블리를 실행가능한 기계어로 번역해놓기 때문에
실행시간은 차이가 없다고 여겨집니다.
어차피 같은 기계어로 번역되어서 실행될테니까요.
번역 시간이야 빠르겠지요. C언어를 어셈블리로 번역하는 시간이 필요없으니까요.

제 생각이 맞는지 틀리는지 알고싶네요.
도움을 부탁드립니다.

콩수니의 이미지

[완료]삼성 네트워크 카메라에서 digest md5로 인코딩하여 response값 도출하는건데? 어떻게 하죠1?ㅠ

안녕하세요 삼성 네트워크 카메라의 영상을 보기 위해서 초반에 rtsp로 커맨드를 날리고 받는걸하는데요
사용자 인증에서 암호화 과정에서 막혀서 글을 올립니다

sip 인증 문서에 따르면
Ha1 = MD5(Username : Realm : Password)
Ha2 = MD5(Method : URI)
Ha3 = MD5(Ha1:nonce:Ha2)
를 하면 Ha3의 값이 response의 값을 갖게되는건데.
밑에는 패킷 캡쳐로 뽑아온건데
Authorization: Digest username="admin", realm="iPOLiS", nonce="00000000000000000000000043540419", uri="rtsp://192.168.0.8/profile1/media.smp", response="452421964da9d3bd50d8c5d492d114cb"\r\n

페이지

프로그래밍 QnA 구독하기