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

voidworker의 이미지

mtdram을 이용해서 부팅하고 싶습니다.

보안관련 임베디드 시스템에서 rootfs를 암호화해야 할 필요가 있습니다. 그리고 몇가지 제약때문에 initramfs등은 쓰지 못합니다. 생각하다가 대안으로 mtdram을 사용하면 될 것 같아서 그쪽으로 접근중입니다. 그런데 제가 리눅스 관련해서 좀 많이 부족하여 해결하지 못하고 있습니다. mtdram으로 부팅을 하려면 어떻게 해야 할까요? 현재 접근중인 방법은,

1. rootfs는 cramfs로 제작중 - 어떤 것이든 크게 상관 없음
2. 커널에서 Self-contained MTD device drivers를 활성화하여 MTDRAM size와 block size, ABS position(이거는 물리 램주소) 을 부여
3. 커널 코드에서 아래와 같이 mtdram디바이스 생성

withmainre의 이미지

Solaris 에서 시리얼 통신용 프로그램을 만들었는데 tcgetattr 이 동작안합니다. 도와주세요.

안녕하세요.
Solaris에서 시리얼 통신용 프로그램을 만드는 중인데요. 중간에 값을 얻어와야 하는 것이있어 tcgetattr을 했는데
return 값이 -1 로 되네요. 내용은 fd가 아니라고 나오는데 이거 어떻게 고치는건가요?

소스 내용은

parkon의 이미지

c++ getline 함수에서 "\r", "\r\n", "\n" 등의 줄바꿈 기호를 통일적으로 다루는 법 ?

안녕하세요 ?

텍스트 데이타 파일을 한줄씩 읽어들이는 루틴을 이용하고 쉽습니다.

{
   ...
   ifstream f("data.txt");
   char line[256];
   ...
   f.getline(line, 256);
   ...
}

이런 식으로 만들어 평소 잘 돌아가던 코드가
갑자기 에러 메세지를 뱉어내길래 찾아보니
대부분의 데이타 파일들은 유닉스 스타일인 '\n'을 줄바꿈으로 사용하는데
특정 파일 몇개가 도스 스타일인 "\r\n"을 사용해서 생기는 문제더군요.

그래서 원하는 함수는, 줄바꿈 문자에 상관없이, 예를 들어

123\r
456\n
789\r\n

처럼 되어 있는 인풋 파일에서 연속적으로 호출하면

123\0
456\0
789\0

vani2의 이미지

복사생성자와 임시객체에 대해서

1. 복사생성자를 다음과 같이 사용하면 단점이 있나요?

Example exp;
Example ex1 = Example(exp);

2. 객체를 함수의 매개변수로 전달할때 값에의한 전달과 참조에의한 전달의 차이가 무엇인가요?

void ab(Person a) {
...
}

void ab(Person& a) {
...
}

여러 소스들을 분석해보면 참조에 의한 전달이 더 효율적으로 보이는데도 불구하고 값에 의한 전달을 사용하는 함수가 많았는데요, 그렇게 하는 이유가 무엇인가요?

3. 복사생성자가 없는 객체를 함수의 인자로 사용할 경우 생성자가 1번 호출되고 파괴자가 2번 호출되던데 이유가 무엇인가요?

4. 임시객체의 소멸시기는 언제인가요?

경우1: 함수의 매개변수로 사용될때
경우2: 수식에 사용될때
경우3: 리턴값으로 사용될때

greathero의 이미지

c++ vector iterator에 관한 질문입니다!

vector안에 문자열들이 저장되어 있구요.
저장된 문자열들을 하나하나 인출해서 새로운 newStr이라는 것을 만들어서 다시 해당 vector에 push_back을 하고 싶습니다.

그런데 아래 코드처럼 하니 vector iterator not incrementable이라는 에러 메시지가 뜨네요.
도무지 문제의 원인이 뭔질 몰라서 질문드립니다.

어떻게 하면 원하는대로 push_back을 할 수 있을까요?
꼭 도움 주시면 감사하겠습니다~^^

Tae_Wook의 이미지

(loadkeys에서 사용되는) 키의 종류에 대한건 어디서 알수 있나요?

(loadkeys에서 사용되는) 키의 종류에 대한건 어디서 알수 있나요?

- - -
이런 {"Control_Lock", "Shift_Lock", "Alt_Lock"}같은 키의 종류에 대한 정보는 어디서 알수 있나요?

- -
저가 말하는 "키의 종류"란
링크 { http://www.tldp.org/HOWTO/Keyboard-and-Console-HOWTO-15.html } 내용에서 나오는
{"Control_Lock", "Shift_Lock", "Alt_Lock"}같은걸 예기합니다.

haha8909의 이미지

리눅스에서 쉘 구현

안녕하세요 학교에서 컴퓨터공학을 전공하고 있는 학생인데요

학교 과제로 리눅스 환경에서 몇가지 명령(ls,cat,cp,mv등)이 실행가능한 쉘을 구현하는게 나왔는데요

그래서 어떤식으로 구현해야될지 하루종일 인터넷도 찾아보고 고민해 봤는데요 아직까지도 도저히 감이 안와서

시작 조차 못하고 있습니다. ㅠ 그래서 답답한 마음에 선배님들의 조언을 구하고자 여기다 글을 올리게 됐습니다.

제가 알고 싶은건 쉘을 구현해놓은 통코드 같은게 아니라 C언어 조금 다룰줄 알고.. 리눅스 조금 다뤄본.. 운영체제를

이제 막 배우기 시작한 초보자가 쉘 구현을 하기 위해서 무엇을 찾아봐야하고 .. 뭘 알아야하는지에 대한 전반적인 조언을 듣고 싶습니다 ㅠㅠ

전역하고 복학해서 열심히 좀 해보려고하는데 학기초부터 난관이네요 ㅠ 그럼 다들 남은 일요일 즐거운 시간 되시길 빌께요

enaaan의 이미지

read 시스템콜 질문입니다!

간단한 shell 을 만들고
execve()에게 매개변수를 전달해주기위해서
새로운 my_read() 함수를 만드려고 합니다

void my_read(char *a, char *b)
{
 read(0,a,100);
 read(0,b,100);
}
 
이런식으로 전달하려고했는데... 무엇이 문제인가요ㅠ
처음하는거라서 너무 서투르네요....ㅠ
dltkddyd의 이미지

php 스크립트와 외부 프로그램이 서로 통신하려면...

스크립트로 만든 pipe1.php 파일은 외부 프로그램 cpipe1을 실행하고 cpipe1이 출력한 결과를 파이프를 통해서 전달받게 하려고 다음과 같이 파일을 만들었습니다.

-pipe1.php-

<?php
	echo "ddddd<br>";
	//system("./cpipe1");
	$ph=popen("cpipe1","r");
	while(1) {
		$gettingfrompipe=fgets($ph,1024);
		$totstr.=$gettingfrompipe;
	}
	echo $totstr."<br>";
	pclose($ph);
?>

-cpipe1.cc-

jaeyounj의 이미지

이클립스 CDT 써보신분

안녕하세요, 최근에 리눅스에서 C++으로 개발한 프로젝트를 하나 맡게 되었습니다. 구조를 보니 이클립스 CDT로 개발된것 같고 전임자는 사라진 상태입니다. Makefile을 열어보니.... makefile도 자동으로 만들어진걸을 보니 이클립스 CDT에서 가끔 보던 자동으로 만들어주는 makefile과 비슷하게 생겼네요. 첫줄을 보니

-include ../makefile.init 이라는 정보가 정의되어 있는데 (뭔가 중요한 정보가 담긴것 같음). 서버에는 해당위치에 파일이 보이지도 않네요.

다만 라이브러리를 호출하거나 dependency가 정의된 다른 mk 파일들은 있습니다. 혹시 CDT 쓰시는분이면 좀 알려주실수 있을것 같아요.

저는 태생이 전문 프로그래머가 아닌 OR쪽 사람이라 이런 개발 초기 셋팅엔 답답할 지경입니다..

페이지

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