프로그래밍 QnA

anstjqlek의 이미지

input file 이름변경후에 프로그램 실행시킨후 나온 output의 이름을 바꿔서 천번정도 돌려서 output천개를 얻으려고합니다.

input file 이름변경후에 프로그램 실행시킨후 나온 output의 이름을 바꿔서 천번정도 돌려서 output천개를 얻으려고합니다.
제가 리눅스 초보자라 전혀지금 shell script부분에 감이안오는데요.
그래도 나름 어디서 주어와서 짜봐는데요.
#!/bin/sh

for((i=0;i<1000;i++))

mv extract$i.txt $input.txt #extract.txt파일을 input.txt파일로 변화하고 싶습니다.
do ./custom_output; #프로그램 실행한후

mv output.txt $output$i.txt #output.txt파일을 output0 output1.txt 이렇게 만들고싶습니다.
sleep 3;
done

hahaite의 이미지

[완료] getchar() 함수에서 대기중일 때 키보드 입력 말고 해제하는 방법이 있을까요?

안녕하세요.

getchar() 함수를 사용할 때요.

위 함수에서 키보드 입력이 있을 때까지 대기상태로 들어가잖아요.
혹시 키보드를 누르지 않고 위 함수의 대기상태를 해제하는 방법이 있을까요?

알려주심 고맙겠습니다.

taiji88의 이미지

PHP 정규표현식 관련 질문 입니다.

html 태그 중에서
textarea
를 찾아서 그 안에 있는
내용을 골라내
그 내용을 br태그로 치환 하여 엔터처리 하는방법이 궁금합니다.

textarea 찾아서 관련태그 삭제하는것 까지는 되는데
안의 내용을 컨트롤 하는게 잘 안되네요.

upersbird의 이미지

[완료] raw socket에서 packet capture에 대한 몇가지 질문 올리옵니다...

내용 : TCP, UDP, ICMP에 대한 패킷을 전송받아 각각 Ethernet, IP, TCP, UDP, ICMP 헤더와 데이터를
출력하는 프로그램을 작성해 보았는데 몇가지 궁금증이 생겼습니다.

1. 어떤 형태로 패킷이 들어와도 모니터링하려니
sock[0] = socket(PF_INET, SOCK_RAW, IPPROTO_TCP);
sock[1] = socket(PF_INET, SOCK_RAW, IPPROTO_UDP);
sock[2] = socket(PF_INET, SOCK_RAW, IPPROTO_ICMP);
제가 방법을 아직 잘 몰라서..소켓 3개를 생성하여 각각 프로토콜에 대한 캡쳐를 진행하였습니다.
그래서..궁금한 것은..하나의 소켓으로 모든 프로토콜에 대한 캡쳐를 할 수 있는 방법이 있는지 궁금합니다.

2. 예를들어 TCP 패킷 캡쳐하여 그 데이터를 모니터링하려고 합니다.
이때 recvfrom 함수를 사용하여 패킷 데이터를 수신받게 되는데,

rhajrs의 이미지

메모레 복사관련 질문입니다.


int original[100] = {0,1,2,3,4,5,6,7,8,9,10,...........};

int* indexTable[10] = {&original[0], &original[17], &original[22], &original[33], &original[41], &original[56],..........};

위는 실제 코드는 아니고 상황 설명을 위해 슈도코드 느낌 봐주시면 될듯 합니다.

지금 하려는 짓이

int target[10];

에다가 original[]의 값을 집어 넣으려 하는데

int* ptr = original;

target[0] = *ptr;
ptr += 17;
target[1] = *ptr;
ptr += 6;
.
.
.
.

처럼 하기 싫어서

kwchoi의 이미지

리눅스 커널 버전에 대한 질문드립니다.

안녕하세요.
리눅스 커널에 관심을 가지고 있는 사람으로서 질문드립니다.
mainline과 stable이란 용어가 나오는데, 무슨 의미인지 알고 싶고, 3.4-rc3에서 rc3는 무엇을 뜻하는건지 알고 싶습니다. rc1, rc2, rc3로 넘어가는거 같은데, 모르겠습니다. 전문가님들의 조언 부탁드립니다. 감사합니다.

declspec의 이미지

리눅스커널, 가상주소 물리주소 변환질문

안녕하세요, x86 리눅스 커널(32비트)에서 가상메모리주소에 매핑된 물리메모리주소를
얻어내는 방법에 대해서 질문합니다.

커널에 모듈을 올리고, 그 모듈상에서 특정 커널메모리주소가 매핑된 PFN 을 찾고싶은데요
단, highmem 영역 이후의, 즉 단순히 vir_to_phy 같은거로 0xc0000000 더하고빼서 얻는거 말고
실질적으로 2레벨 페이징을 거쳐서 얻어지는 주소를 이야기하는 것입니다.

먼저 cr3 레지스터에 로드되는 페이지 디렉토리의 주소는 가상주소이고, 커널모듈상에서
cr3 의 값을 가져오는건 해당 모듈을 호출하는 application context 에서의 값을 가져오는것이라, 커널 페이지디렉토리 주소를
가져올수 없다고 알고있습니다. 그래서 커널 심볼중에 swapper_pg_dir? 이었나, 이것이
커널 페이지디렉토리의 가상주소(0xC000...) 를 가지고있다는걸 알아내서
해당 메모리를 덤프해서 커널 페이지 디렉토리의 엔트리들을 얻는데는 성공했습니다.

declspec의 이미지

세그먼트 레지스터와 메모리주소에대한 질문

안녕하세요

32비트 protected 모드의 CPU 에서는 보통
세그먼트 레지스터가 사실상 아무 역할을 안하는것으로 알고있습니다

CS, DS, SS 이런 레지스터의 특정비트영역이
GDT or LDT 상의 특정 오프셋에 있는 세그먼트 디스크립터를 가리키고
그 속의 BASE, LIMIT 이 0, FFFFFFFF 로 되어있어서
사실상 세그먼트 뒤의 32비트 오프셋 자체가 그냥 순수하게
MMU 로 넘어가서 페이징되는것으로 알고있는데요
혹시 잘못된점 있으면 지적바랍니다.

그리고 궁금한것이 몇가지 있습니다

페이지

프로그래밍 QnA 구독하기