프로그래밍 QnA + 설치 및 활용 QnA

ctvctv의 이미지

SCSI Write 명령어 질문입니다

USB 드라이버 공부중입니다.

"윈도우USB 디바이스드라이버" 라는 책에 나온 USB저장장치 예제인데,

예제에는 SCSI Read 밖에 안나와 있어서, 제가 write 커맨드 추가해보려는데 잘 안되네요.

정확히 말씀드리면 Read는 잘 되는데 (책에 나와있는 예제 그대로), Write 가 안됩니다.

Read, Write 코드 모두 어플리케이션 소스에서 추가하는 방식입니다.

*buffer_data= "abcdef" 이런 식으로 write 할 데이터 버퍼에 저장했는데,

혹시 다른 형식으로 적어줘야 하나요? (배열이라던지..)

인터넷 찾아봐도 딱히 예제소스도 안보이고 답답하네요.

아래 소스는 Write, Read 부분이고, 전체 어플소스는 첨부파일에 있습니다!

IssueSCSICommand 함수를 사용해서 Read, Write 하는 방식입니다.

twinwings의 이미지

tarball로 묶는다는게 ar로 묶어버렸습니다.... 복구시키방법 없을까요...

제목 그대로입니다.

방금 포맷하고나서 백업해놓은 파일을 복구시키려니까 안되길래 보니까 ar로 되어있어서..

혹시 방법이 없을까요...

k1d0bus3의 이미지

initrd 개념에 대한 질문

부팅 시, 부트로더에 의해 커널로딩 후 root파일시스템을 로딩하는 시점에 "필요할수도" 있는걸로 알고 있습니다.
왜냐하면 root파일시스템 로딩을 위해선 모듈(ex: ext2/3/4, SCSI/USB 등등)이 필요하고,
이 모듈들을 initrd에 묶어서 커널다음에 로딩하여 root파일시스템을 읽을수 있게 만듭니다.

질문
1. root파일시스템 로딩에 필요한 모듈들을 아예 커널에 빌트인해서 커널을 만들면, initrd가 없어도 됩니까? (그렇다면 initrd개념은 왜 생겨난거죠?)

2. 커널 역시 root파일시스템안에 존재하는데, 부트로더가 어떻게 읽어내죠?

3. initrd/initramfs가 혹시 다른용도로 사용되는 경우도 있습니까? (모든 커널모듈을 넣어버리거나, root파일시스템을 통째로 넣어버린다던가)

mydream의 이미지

배열을 매개변수로 전달할 때 참조방식으로 전달되도록 하는 방법이 없을까요?

VOID GetDisplay(HWND& hwnd, RECT& area, COLORREF (*display)[1000]) {
	HDC hdc=GetDC(hwnd);
	for(INT x=0;x<=area.right;x++) {
		for(int y=0;y<=area.bottom;y++) {
			display[x][y]=GetPixel(hdc, x, y);
		}
	}
	ReleaseDC(hwnd, hdc);
}
 
 
 
int main() {
  static COLORREF display[1000][1000]
  GetDisplay(hwnd, cl_area, display);
}

위에서는 display 이차원배열을 값복사 방식으로 값이 전달되는 것 같은데요, 그게 아니라 참조방식(레퍼런스처럼 말입니다)으로 display의 값에 직접 GetDisplay 함수가 접근하여 변경하는 방법좀 알려주세요.

huso의 이미지

DAUM 카페의 게시글을 모두 복사하여 홈페이지에 올리려고 하는데, 파싱이나 백업 툴 어떤것이 좋을지

DAUM 카페의 게시글을 모두 복사하여 홈페이지에 올리려고 하는데, 파싱이나 백업 툴 어떤것이 좋을지...
수작업으로 하나하나 복사하여 올리기에는 너무 숫자가 많고...
카페를 폐쇄하기 전에는 백업을 해주지 않는다고 하는데, 폐쇄할 것은 아니고...
DAUM 카페에서 RSS 서비스는 2013년에 중단된 상태이고...
카페의 운영자 권한을 부여받은 상태입니다.
파싱이나 백업툴 중에 어떤 것을 공부하면 좋을지 막막해서 여러분들의 조언을 부탁드립니다.
일반 홈페이지와 달리 frame set 으로 되어 있어서 쉽지 않은 것 같습니다

tooson90의 이미지

linux kernel 에서 spinlock 관련 질문이 있습니다.

spinlock 부분을 공부하던중 질문이 생겨 이렇게 글을 올려봅니다.

/usr/src/linux/include/linux/spinlock_types.h 에 있는
struct raw_spinlock 에서

20 typedef struct raw_spinlock {
21 arch_spinlock_t raw_lock;
22 #ifdef CONFIG_GENERIC_LOCKBREAK
23 unsigned int break_lock;
24 #endif
25 #ifdef CONFIG_DEBUG_SPINLOCK
26 unsigned int magic, owner_cpu;
27 void *owner;
28 #endif
29 #ifdef CONFIG_DEBUG_LOCK_ALLOC
30 struct lockdep_map dep_map;
31 #endif
32 } raw_spinlock_t;

byeown의 이미지

리눅스 특정 도메인으로 접속할시 내부의 있는 PC로 보내버리고자 합니다.

1번 PC, 외부 인터넷연결되있음, 도메인연결되있음 PC2와 크로스케이블로 연결됨
2번 PC, 크로스케이블로 1번PC와 연결됨.

외부에서 PC1의 특정도메인으로 접속시 PC로 보내버리고싶습니다.
웹이라던지 ftp라던지 등등..
어떻게 하면 될까요..?

아파치만이라면 프록시로 넘기면 되겠지만
svn이라던가 기타 서비스를 이용하려면 아이피 자체를 넘겨버려야하는데 어찌해야할까요..
PC1의 도메인은 ddns서비스를 받고 있습니다.
dnsever를 통해서요.

s0ulhacker의 이미지

test=`/bin/basename \`/bin/ps -p $$ -ocomm=\`` 가 어떻게 작동되는건지 궁금합니다.


test=`/bin/basename \`/bin/ps -p $$ -ocomm=\``

위와 같이 실행하고 echo $test 를 실행하면
bash 라는 결과가 나옵니다.

test=`/bin/basename \`/bin/ps -p $$ -ocomm=\``

이 명령이 어떻게 실행되서 test 에 bash 라는 값이 들어가는건지 도무지 모르겠습니다.

아시는 분 설명해주시면 정말 감사드리겠습니다.

wans038의 이미지

포인터 자료형과 크기 그리고 포인터 형변환에 대해 질문드리겠습니다

가입하자마자 죄송하게 질문을 드립니다(__)
질문이 2개정도 됩니다.

일단

포인터 자료형과 크기에 대해 궁금증이 생겨서 질문을 드립니다.
저의집 컴이 64비트입니다.

그래서 포인터 크기도 64비트로 처리해서 sizeof(포인터)을 하면 8이 나옵니다
그런데!

포인터 자료형은 포인터를 대상으로 *연산을 하기위해 즉 메모리 참조의 기준을 두기위해 포인터 자료형이 있는걸로 압니다.

int* ptr = &num;
*ptr = 30;
printf("%d", ptr); // 이런 코드가 있다고 하면 ptr이 가지고 있는 첫번째 주소값을 기준으로 4바이트 정수로 해석 해서 읽어라!

여기까지가 포인터 자료형이 있는 이유로 알고 있는데

제 컴은 8바이트인데 주소값을 8바이트로 처리하는데 int형 포인터를 4바이트로 해석한다?? 무슨말이요!!!??
제컴은 8바이트인데 int형 포인터로 *연산을 할떄 4바이트 정수로 해석??

mydream의 이미지

메모리 DC의 비트맵을 픽셀단위로 출력하되 하얀색은 투명하게 처리하는 방법에 대해 질문드립니다.

WM_PAINT 메시지 부분에서 TransparentBitBlt 함수가 투명한 색상을 제대로 처리하지 못해서 픽셀단위로 색상을 대응되는 화면 DC에 출력하려고 다음과 같이 WM_PAINT 부분을 작성했습니다.

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기