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

trymp의 이미지

헤더를 어떻게 나누시는 스타일이신가요?

C언어에서 헤더와 C파일이 있으면

aa.h aa.c bb.h bb.c

각자 관련된 것을 쓰면 되는데

가령

bb.h 가 aa.h 에 의존적이라고 할때

1)
bb.h 헤더에 aa.h 를 포함시켜서 작성하시나요?

아니면
2) bb.c 에다가

#include <aa.h>
#include <bb.h>

이런식으로 작성하시나요?

어떤 스타일로 하시는 편이신가요?

기능상 문제는 없지만 어떤 스타일이 정석인지 알고 싶어서 질문드립니다.

eagle76fish의 이미지

CreateNamedPipe에서 PipeMode 인수의 의미가 궁금합니다.

Win32 API의 CreateNamedPipe 함수 세 번째 인수 dwPipeMode에 PIPE_TYPE_BYTE와 PIPE_TYPE_MESSAGE라는 플래그를 전달할 수 있습니다. PIPE_TYPE_BYTE는 시스템이 다른 쓰기 처리 동안 쓰인 바이트를 구별하지 않는다고 하여, 같은 이름의 파이프 인스턴스들로 쓰기 처리가 이루어질 때, 인스턴스를 구별하지 않고 쓰인 바이트가 서로 뒤섞이는 것으로 이해했는데, 그렇지 않고 인스턴스별로 쓰인 내용이 전달됩니다. 또 PIPE_TYPE_MESSAGE는 message unit으로 전달된다고 해서, 검색해봤더니, message unit를 구조체 단위라고 언급하더군요. 그래서 이를 구조체 단위가 잘림 없이 전달된는 것으로 이해를 했습니다. 그런데 구조체가 잘리면서 전달되는 경우가 생깁니다. PIPE_TYPE_BYTE를 바이트 스트림이라고 하고, PIPE_TYPE_MESSAGE를 message unit라고 하던데, 이 둘(PIPE_TYPE_BYTE과 PIPE_TYPE_MESSAGE)의 차이가 무엇인가요?

study의 이미지

임베디는 리눅스에서 GPIO 콘트롤에 대한 질문입니다.

지금까지는 /sys/class/gpio에가서 원하는 pin 을 export에 등록해주고,
등록해주면 생기는 gpio5 (또는 다른 숫자가될 수도 있겠네요)

그 gpio5 디렉토리안에 가면, 존재하는 아래와 같은 parameter를 설정해주곤 했습니다.

active_low
device
direction
edge
power
subsystem
uevent
value

보통은 direction을 in에서 out으로 바꾼다거나, out에서 in으로 바꾸고
아니면 value를 0이나 1로 설정을 해준다거나 하는 정도였는데요.

eagle76fish의 이미지

표준입출력 리다이렉션시 리다이렉션 시도한 프로세스의 표준입출력은 왜 그대로인가요?

프로세스 두 개를 만들었습니다. 첫 번째 프로세스 win32consoletest160이 두 번째 프로세스 win32consoletest161를 자녀프로세스로 생성합니다. 두 개의 프로세스 모두 콘솔 프로그램이고요. win32consoletest160에서 표준입출력을 전향할 겁니다. 그런데 리다이렉션을 시도한 win32consoletest160에서는 리다이렉션 상황이 적용되지 않고, 자식프로세스에서만 그 리다이렉션 상황이 적용되는지 그 이유를 모르겠습니다. 부모의 표준입출력 상황을 자녀프로세스는 상속받는 것으로 압니다. 작성한 코드는 다음과 같습니다.

- win32consoletest160.cpp-
#include
#include

int main() {
printf("main win32...\n");

SECURITY_ATTRIBUTES Attr;
Attr.nLength=sizeof(Attr);
Attr.lpSecurityDescriptor=NULL;
Attr.bInheritHandle=TRUE;

iwsug24의 이미지

make: *** 타겟이 지정되지 않았고 메이크파일이 없습니다. 멈춤.

make를 사용하려 하는데 make: *** 타겟이 지정되지 않았고 메이크파일이 없습니다. 멈춤.이라는 오류가 나왔습니다. 터미널에서 ./configure 명령어를 사용하였으나 ./configure : The term './configure' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. 이라는 오류가 나오는데 어떻게 해야하나요

skazkchdrj42의 이미지

디폴트소멸자는 아무런 동작을 하지않나요?

delete말고
소멸자만 호출했을때 별 다른 동작을 안해서요..
객체도 그대로 살아있고요
아무런 동작이 없는건가요?

익명 사용자의 이미지

리눅스 텍스트 파일에 특정 문자열을 라인 끝에 추가하는 방법이 궁금합니다.

hosts파일과 같은 형식이고 1열에 ip, 2열에 ip별 host name으로 구분되어 있습니다.

#파일 A
a.a.a.a serverAPPLE-12
b.b.b.b server32-BANANA-3cd
c.c.c.c PEACH-xfc
d.d.d.d 321cTOMATO-server

이 파일의 각 라인을 읽어서 특정단어가 있다면 해당 단어를 라인 맨 끝에 '(공백 or 탭)+특정단어' 로 추가를 하고 싶습니다.

#파일 B
a.a.a.a serverAPPLE-12 APPLE
b.b.b.b server32-BANANA-3cd BANANA
c.c.c.c PEACH-xfc PEACH
d.d.d.d 321cTOMATO-server TOMATO

파일의 라인 별 순서는 매번 달라진다고 할 때 '파일 A'를 '파일 B'로 만들 수 있는 스크립트는 어떻게 구성하면 좋을까요 ?

nysa21의 이미지

임베디드 리눅스 환경 G++에서 컴파일 최적화 문제

임베디드 리눅스 환경에서 O2 옵션으로 컴파일 시 싱글톤 클래스의 메모리 주소가 겹쳐집니다..

싱글톤 클래스 두개를 만들었는데, 호출 할때마다 값이 변해 있어서

생성자에서 자기 주소를 print하게 해봤더니 메모리 주소가 일부 겹쳐져 있습니다.

동적생성은 전혀 없구요, 그냥 단순하게 아래처럼 구현되있습니다.

static something& Instance()
{
static something instance;
return instance;
}

최적화 옵션 제거시 정상적으로 할당 됩니다.

벌써 멘붕중인데, 혹시 어느 포인트를 확인해봐야 할까요? 단순 컴파일러 호환성 문제일까요?

익명 사용자의 이미지

TypeScript에서 allowJs를 사용하는 용도가 뭔가요?

안녕하세요 Ts 막 시작한 학생입니다!
어차피 tsc 하면 ts파일들만 js파일로 컴파일되고, ts-node해도 ts파일들만 실행되는데 굳이 allowJs를 tsconfig에 추가할 이유가 뭔지 모르겠습니다 선생님들...

kkb의 이미지

Makefile에서 sub Makefile로 export 넘기기

상위 Makefile에서 sub directory에 있는 Makefile을 실행시키고 있는데

페이지

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