프로그래밍 QnA

Long_run의 이미지

[완료] UDP Socket 프로그래밍 초보의 질문입니다~!!

==============================SOURCE===================================
#include
#include
#include
#include
#include
#include
#include

#define MAXLINE 511

int main(int argc, char *argv[])
{
struct sockaddr_in servaddr, cliaddr;

int s;
int nbyte;
int addrlen = sizeof(struct sockaddr);

char buf[MAXLINE+1];

Long_run의 이미지

Socket 프로그래밍 질문이 있습니다..

저는 일단 C 공부를 시작한지 한달여 정도 된 초보 프로그래머 이고..
UDP Socket 통신을 공부하는 중입니다..
아래는 Server와 Client로 Udp Socket 통신을 하는 프로그램 중 Server의 Source 입니다.

1. Client는 Server로 Data를 전송합니다.

2. Server는 Data가 날아온 Client의 IP Adress와 Port를 표시합니다.

3. 마지막으로 Data를 표시합니다.

==============================SOURCE===================================

declspec의 이미지

커널 심볼테이블 질문

커널 심볼테이블에 대해서 공부하면서 아래와같은 실험을 해봤습니다(우분투 10.04에서)

먼저 kmalloc 을 char* 타입으로 캐스팅해서
그 주소를 찍고, 거기서부터 200바이트를 덤프를 떠봤습니다.(kmalloc 의 바이너리코드를 확인해보려고)
그리고 kallsyms 에서 kmalloc 을 grep 해봤습니다.

그랬더니 모듈상에서 찍힌 kmalloc 의 가상주소가
심볼테이블상에 없습니다

1. 왜 실제로 kmalloc 함수포인터의 주소를 찍은값이 커널심볼테이블상에 없을까요? 제가뭔가 착각하는걸까요?

declspec의 이미지

커널심볼 참조에 대해서

리눅스 버전마다 다르지만
어떤버전에서는 built-in 컴파일된 커널코드가 아니라
모듈형태로 이루어진 코드에서는
다른 모듈의 커널심볼을 참조하기 위해서

Modules.symvers

라는 파일을 따로 이용해야한다고 합니다.
그런데 이 파일 안에는 심볼의 주소가 있다고 해서 확인봤는데요...
/proc/kallsyms 에 나와있는 주소랑 차이가 있던데
어떻게 된건가요?

그리고 Modules.symvers 는 컴파일하면 생성되는 파일인데
모듈을 올리기도전에 어떻게 심볼의 주소가 결정될수 있나요?
Modules.symvers 에 있는 주소는 제가 생각하는 커널메모리의 주소가 아닌건가요?
궁금하네요

아래에 보면 my_func 가 커널심볼테이블에 e0ae9040 의 주소를 갖는거로 나오는데
그 아래를 보면 Modules.symvers 파일에는 ea057a7e 의 주소가 나와있습니다.
가르침을 주세요~

bessty의 이미지

자바 jsmooth로 exe 변환은 잘 되는데 그림만 로딩이 안됩니다. 도와주세요 ㅠ

문제는 제목과 같습니다. 제가 프로젝트 폴더 안에

bin, images, src 폴더 이렇게 쓰는데, jar로 변환을 하고 exe를 만들었는데 이미지를 인식 못하는것 같습니다.
어떻게 해야하나요?

소스코드 안에서는 상대경로를 쓰고 있습니다. 예를 들어 이런식으로요
setImage(/images/AA.jpg);

어떻게해야할지........ 으악!

이미지 첨부시켰습니다. 컴포넌트는 잘 뜹니다.

lch21c의 이미지

kernel-3.3.5 에서 security 함수에 대해서 질문있어요?

security 함수인 inode_permission 함수를 후킹하는 모듈을 작성할 때 inode_permission 함수에서
d_path와 ext3(4)_get_inode_loc 함수를 사용하면 시스템이 죽는 현상이 발생합니다.

1) // d_path를 이용할 경우
aaa_inode_permission(struct inode *inode, int mask)
{
..........
if (mask & MAY_EXEC) return 0; <== 추가해 주면 죽지 않음
d_path(&mnt_path, kbuf, 1024);
...........
}

goodssh의 이미지

Template을 활용한 함수, 어떻게 정의해야 할까요?

다음과 같은 형식의 함수를 하나 제작하고 싶습니다.

template <typename T, typename T2>
void MyFunc(T<T2> _Value)
{
     // Code
}

컴파일러는 VC2010 입니다. C2143 에러가 떠버리네요.

해당 함수 제작에 적법한 syntax를 찾느라고 구글링을 많이 했는데 찾지를 못하겠네요.

boost 뜯어보면서 비슷한 문법 찾을려고 했으나 눈이 많이 아픈지라.......

부탁드립니다.

zzang3757의 이미지

리눅스 파일권한 질문 드립니다..


간단하게 로그를 찍는 클래스를 만들어서 사용하고 있습니다.

분별로 로그파일을 생성하는데,, ls -l 명령어로 생성된 파일의 권한을 보면 좀 이상합니다..

파일 생성은 open 함수에 O_CREAT | O_WR0NLY | O_TRUNC 플래그를 썻구요,

생성된 파일권한을 보면

-r--r--r-- 1 root root 120 Apr 23 17:54 test_log-201204231754.log
---------- 1 root root 120 Apr 23 17:55 test_log-201204231755.log
---------- 1 root root 120 Apr 23 17:56 test_log-201204231756.log
---------- 1 root root 60 Apr 23 17:57 test_log-201204231757.log

위와 같이,, 최초 생성된것에만 권한이 -r--r--r-- 이렇게 되있고 나머진 --------- 이렇게 되어있네요,,

이게 왜 이런건가요 ㅜ

조언 부탁드립니다.

페이지

프로그래밍 QnA 구독하기