프로그래밍 QnA

익명 사용자의 이미지

우분투 사운드 프로그래밍

우분투에서 사운드 출력을 할 일이생겼습니다.
그런데 의외로 래퍼런스를 인터넷에서 찾기가 쉽지 않군요 .. TT
찾기는 찾았습니다.

http://sunnmoon.egloos.com/1833613
http://manuals.opensound.com/developer/singen.c.html

위 두 번째 url 에서 알려주는 것은 OSS 4.x API 샘플 (OSS 4.x Programmer's Guide) 입니다.
그런데 실행해보니 /dev/dsp: No such file or directory 라고 하는군요... 아마 우분투에서는 장치명이 조금 다른가보죠?

irdeal의 이미지

off_t 를 32bit, 64bit 시스템에 상관 없이 printf 하려면 어떻게 해야 하나요?

off_t 의 typedef가

32bit 시스템에서 컴파일 시에 -D_FILE_OFFSET_BITS=64 옵션을 주고 컴파일을 하면

long long int 고

64bit 시스템에서는 long int 로 알고 있습니다.

하나의 코드에서 printf 로 해당 값을 출력하고 싶은데 어떻게 포맷팅 해야 하나요?

현재는

#ifdef WORDSIZE == 32 등으로

32bit 일경우에는 %lld 로 64비트일 경우에는 %ld로 하고 있는데 한 번에 표현 할 수 있는 방법이 없나요?

검색을 해봐도 잘 나오지가 않네요.

익명 사용자의 이미지

커널 모듈 디버거 질문 입니다.

안녕하세요

커널 모듈을 올리고 모듈에서 특정동작시 커널 함수에 접근하여

처리를 하게 되면 커널이 죽습니다.

위 상황과 같이 커널 모듈단에서 부터 디버깅을 진행하고 싶은데 어떤 디버거를 사용해야 하나요?

kgdb를 사용 해야 하나요?? 커널 start 부터가 아닌 커널 모듈에서 부터 디버깅을 하는거라 다른방법이 있을것 같아서..

kgdb는 머신2대가 필요해서 번거로울것 같아서요 ㅜ.ㅜ 초보에서 도움좀 부탁드립니다.

pu928의 이미지

[완료]이중포인터를 사용한 malloc 할당

char *pStr;
void **pp;
 
pp = (void **)&pStr;
*pp = malloc(10);
 
printf("%X\n", *pp);

char *pStr;
void **pp, *p;
 
pp = (void **)&pStr;
p = malloc(10);
 
*pp = p;
 
printf("%X\n", *pp);

Visual Studio 2010 에서 작성 중인 코드입니다..

위 코드처럼 malloc 된 주소를 바로 주면 NULL이 들어가고 아래 코드처럼 한번 거쳐서
주소를 주게 되면 바로 들어가더군요.. ㅠㅠ

코드가 잘못 된 건지 원래 저런 식으로 써야 되는건지;; ㄷㄷ

dltkddyd의 이미지

영문과 한글을 구분하는 방법은 없나요?

구글링을 해보니 영문은 제일 앞쪽의 한 비트가 0이고, 한글은 제일 앞쪽의 한 비트가 1이라고 하더군요. 그렇다면 해당 문자를 저장한 것을 int로 캐스팅해서 읽어온 데이터가 0미만이면 한글이라 간주해도 될까요? 혹시 0을 포함해서 0이하라고 해야 할까요?

asdefary의 이미지

[해결] GCC Inline Assembly의 효용성에 대해...

안녕하세요.

C/C++ 공부 시작한 지 2 개월 조금 덜 됐고, KLDP도 방금 막 가입한 초짜&신입입니다.
3일 전에 GCC Inline Assembly에 대해 알게 되서 어셈블리어 공부를 막 시작했는데요....
그것이 굳이 쓸 가치가 있는 지에 대해 궁금하게 되어서 이렇게 질문 올려봅니다.

일단 다음과 같이 std::string형 string을 std::wstring형 string으로 변환하는 함수를 asm과 C++ 두 가지로 작성해봤습니다.

csb444의 이미지

awk 숫자 지정

안녕하세요, awk의 연산범위 지정에 대해서 질문을 올립니다.

다룰 textfile은 다음과 같이 생겼습니다.

########################
atomic position
1.0
12 0 0
0 12 0
0 0 12
C
6
Direct
0 0 0
0.2 0.2 0
0.4 0.3 0
0.6 0.6 0
0.3 0.2 0
...
#########################

이중에서 awk의 명령어를 써서, 'Direct'문자열이 나온 이후의 줄에서, 0.5 이하의 값들을 갖는 것들에 대해 연산을 하고 싶은데요.

awk'{ if($1~/Direct/){DATALINE=NR}
if(NR>DATALINE){
if(($1<0.5)&&($2<0.5)){print $0}
}
}'

guswnsla1223의 이미지

buffer_head로 다른 디스크 파티션의 내용을 읽을 수 없는건가요?

개발하는 내용에서 buffer_head로 다른 파티션의 내용을 읽어오는데,

ext4_getblk()에서 bh = sb_getblk(inode->i_sb, block); 를
다른 Block_device에서 내용을 불러올 일이 있는데, 단순히 block_device를 교체해서는 안되는가 봅니다..
참고로 다른 파티션의 block_device도 get_sb_bdev()에서 원래의 파티션과 동일하게 얻어내어
ext4_sb_info 구조체에 저장중입니다..

현재 함수의 모양은
bh = __getblk(sbi->s_block_device, block, sb->s_blocksize); 입니다.
고려해야 할 사항이 더 있는건가요? __getblk() 안에서 나오질 못하는데..

바로 위에 ext4_map_blocks()를 아무리 뒤져봐도 뭐가 이상한 건지 모르겠어서ㅠㅠ..
락이라든지, 다른 부분을 고려할 만한 사항이 있는지 궁금합니다..;;

(사실 질문을 올려놓고도 죄송하네요.. 아무것도 없이;;;;;ㅋ ㅠㅠ..)

페이지

프로그래밍 QnA 구독하기