프로그래밍 QnA

you의 이미지

raw device io - 아래 질문 다시 올렸습니다.

아래글 다시 봐주세요~~
질문 보충했씁니다.
답변 부탁드릴께요...

you의 이미지

raw device read 에서 컨트롤 정보를 제외시키고 읽는 방법?

#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>

#define BUFSIZE 1024
main()
{
int fd0, fd1, n;
char buf[BUFSIZE];

fd0=open("/dev/fd0", O_RDONLY);
fd1=open("./rawwr", O_WRONLY | O_CREAT);

if((n=read(fd0, buf, BUFSIZE))>0)
if(write(fd1, buf, n)!=n)
fprintf(stderr, "write error");
if(n<0)
fprintf(stderr, "read error");
}

보시면 아시겠지만 이 프로그램은
플로피디스크에서 1024바이트를 raw i/o로 읽어들여서
파일에 저장하는 프로그램입니다.

young93의 이미지

ioctl 에서 SIOCGIFDSTADDR ?

안녕하세요

socket ioctl()을 써서 네트워크 인터페이스 정보를 읽어보려고 하는데요.
옵션중에 SIOCGIFDSTADDR 가 무엇인지 모르겠습니다.
그냥 자기 IP를 가져오던데...

정확히 무슨 의미일까요?
답변부탁드립니다.

gyxor의 이미지

Assembly 데이터에 저장된 16진수를 10진수로 변환해서 화면에

C++ 같으면 int 형이 있어서 cout 으로 정수를 그냥출력하면되는데요..
어셈블리어를 하다보니 문자열 출력은 있지만
출력하는 함수는 모두 ASCII 코드값을 출력하기 때문에
숫자를 출력하는 함수가 없어서 만들어야 할거같습니다.

1~9사이의 한자리 수라면 아스키 코드값에서 0이 30H이므로 30H을
더해서 출력하면 숫자를 화면에서 볼수있었는데요
자리수가 늘어나다 보니까 10진수로 계산해서 일일이 첫째자리수에서
+30H 를 해서 출력한다는것이 여간복잡한게 아니더라구요

lee64의 이미지

DEV-C++에 대한 문의....ㅜ.ㅜ

저는 리눅스 프로그래밍을 첨하는 초보입니다..

다름이 아니고 DEV-C++에서 GTK를 사용한 프로그램을 하려고 합니다..

일단 DEV-C++ 사이트에서 devcpp4980.exe파일을 받아서 설치했습니다.

저는 윈2000을 사용하구요. 일단 설치를 하고 나니 C:\Dev-Cpp라는 폴더에

설치가 되더군요.. 그리고 업데이트를 실행하니 GTK 패키지가 있어서 다운받아 설치했습니다.

C:\Dev-Cpp\include\gtk-2.0이 생긴것을 확인 했습니다...

그리고 인터넷에서 hello를 출력하는 소스를 하나 구했습니다...

waltherppk의 이미지

C로 자료구조를 공부하려고하는데요...

Java 만 보다가 하려니 감이 안잡혀서요...

C 에서는 객체개념이 없잖아요...

링크리스트를 구현한다음에
링크리스트를 이용해서 스택, 큐를 구현하고
하나의 어플에서 스택과 큐를 동시에 사용하게되면요...

그럼 데이터가 꼬이나요 ?

그리고 하나의 어플에서 스택 두개를 사용할 방법도 없는 건가요...

Java 같은경우라면 각각마다 객체를 할당해주면
알아서 내부 데이터가 감춰지잖아요...

읽어주셔서 감사합니다.... (^^)(__) 꾸벅

moonzoo의 이미지

헤더를 include 할때에 질문..

예를 들어 현재 main.c 라는 file안에는

main() 과 a(), b () , c() ....z() 등과 같은 함수들을 선언하고

정의해 놓았습니다.

또한 global.h 에 갖가지 전역변수 및 include, define등을 정리했고

data.h에 struct 구조체등에 대해 정의해 놓았습니다.

이 두 헤더를 main.c 에서 include한 상태인데..

main.c안에 있는 a(), b(),c()등의 함수들을

각각 a.c , b.c , c.c , 등과 같이 외부로 빼서 처리할려고 하는데.

그러면 각각의 a.c , b.c , c.c 등의 파일에 global.h와 data.h를

모두 넣어줘야 하는 상황입니다.

kkojiband의 이미지

메모리 메니지먼트...추가 질문...?

먼저, 저기 밑에 답변해주신 분께 감사드립니다^^

메모리 메니지먼트에 대해서는 이론적으로는 공부한적이 있습니다. 그래서 gdt, ldt이런거에 대해 대충 개념은 알고 있는데, 실질적으로 프로그램 디버깅해보면 이게 어떻게 되는거지 하고 알쏭달쏭한 경우가 많습니다...--;

만약에 프로그램이 실행되면, 각 프로그램들은 자신들의 ldt 를 만들잖아요

그 때 .text, .rodata, .data 같은 각각의 섹션들을 하나의 entry 로 해서 만드는건가요?

실행 파일을 디버깅이나 덤프해서 보면 나오는 주소들은 어떻게 나온 것들인가요?

moonzoo의 이미지

static void 의 개념은?

C에서 함수명 앞에 붙는 static void 가

의미하는 것은 무엇인가여?

함수명 앞에 붙으니 당연 리턴 형이기는 한데..

static void 를 리턴한다는게 어떤 개념인지 궁금합니다..
(특히 static이 붙은 이유..)

purewell의 이미지

mlockall 로 패이징 금지

Quote:
MCL_CURRENT
프로세스의 주소 공간에 현재 대응되는 모든 페이지를 잠근다.
MCL_FUTURE
앞으로 프로세스의 주소 공간에 대응될 모든 페이지를 잠근다. 예를 들어 새로운 메모리 대응 파일이나 공유 메모리 영역 뿐만아니라 늘어난 힙과 스택의 페이지에 사용되는 페이지에 해당된다.

int main(void)
{
  mlockall(MCL_CURRENT); // 성공했다고 합시다... ㅡ_-);

  int* k=new int[1024];


  return 0;
}

위의 코드에서 new로 할당된 메모리는 RAM상주를 보장받을 수 있나요?

페이지

프로그래밍 QnA 구독하기