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

trymp의 이미지

linux kernel 에서 spinlock_t 변수 복사해서 사용하면 문제 있을까요?

struct aa {
int num;
spinlock_t lock;
}aa_t;
 
 
aa_t aa_obj;
aa_t bb_obj;
 
spin_lock_init(&aa_obj.lock);
 
memcpy(&bb_obj, &aa_obj, sizeof(aa_obj));

이런식으로 bb_obj를 사용하면 나중에 메모리누수나 패닉 같은 문제가생길까요?

조언해주시면 감사하겠습니다.

skazkchdrj42의 이미지

dll 인터페이스에서 stl대체하는법

#pragma once
#include "EnginePath.h"
 
class EngineFile;
class EngineDirectory : public EnginePath
{
public:
	void GoParent();
	void GoChild(std::string ChildPath);
 
	std::vector<EngineFile> GetAllFile();
	std::vector<EngineFile> GetAllFile(std::string _Ext);
};

이런 클래스를 인터페이스로 감싸서 노출하고싶은데
std::vector같은 자료를 리턴하는 함수를
어떻게 c스타일로 대체하나요??

trymp의 이미지

linux kernel 프로그래밍을 할때 몇 byte 부터 malloc 을 쓰시나요?

웬만해서는 스택 메모리를 이용해서 코딩하는 편인데요.

리눅스 커널의 경우 스택 사이즈가 작은 편이자나요?

그래서 alloc 해서 heap 을 쓰는 경우가 있는데

어느 정도 사이즈부터 스택대신 heap 메모리 사용하시나요?

환경은 x86 입니다.

lalupo20의 이미지

qt로 안드로이드 개발할때 질문 드립니다.

현재 6.x 버전에서는

안드로이드 파일 퍼미션을 얻는 방법이 없는거 같습니다.

그래서 말인데

qt 구버전을 활용해서 개발해도 문제될게 없나요?

파일 퍼미션을 얻지 못하면 만들수 없는 어플이라서요.

study의 이미지

리눅스 모듈 버전은 어떻게 정해지나요?

리눅스 소스를 다운로드 받아서, 컴파일하고 make module_install을 하면 /lib/modules/5.15.15-g2xxxxx-dirty라는 디렉토리가 생성되는데요

이 이름이 어디서 정해지는가 해서요
원하는 것은 /lib/modules/5.15.15 로 만들어지고 그 디렉토리안에 모듈이 생성되도록 하고 싶습니다.
조언 부탁드릴게요

academic의 이미지

리눅스와 디바이스간의 VPN을 구현할 때 어디서부터 시작해야 할까요?

리눅스 서버와 디바이스간에 VPN으로 통신을 구현해야 하는데요,
디바이스 개발자가 VPN에 대해서 전혀 아는 바가 없어서 제게 조언을 구하는 상황입니다.

저도 아는 바가 없는 건 마찬가지라 어디서부터 시작해야 할지 감이 잘 안 잡히네요.
고수님들이 살짝 조언 한마디만 해주셔도 도움이 많이 될 것 같습니다.

현재는 리눅스 서버와 디바이스 사이에 https로 데이터를 주고받고 있습니다.
디바이스는 OS 없이 펌웨어로 구현되어 있고요.
이 걸 VPN을 통해서 하게끔 바꿔야 하는 상황입니다.

디바이스 갯수가 많다보니 VPN 상용 솔루션을 쓰기엔 부담이 되어 소프트웨어적으로 자체 구현할 방법이 없을까 고민하고 있습니다.

디바이스 쪽에서 비교적 쉽게 VPN 클라이언트를 구현하려면 어떤 VPN 방식이 좋을까요?

그냥 디바이스에 OS를 탑재하고 OS의 VPN 기능을 이용하는게 답일까요?

관련된 내용이라면 어떤 말씀이건 도움이 많이 될 것 같습니다.
감사합니다.

nahdd123의 이미지

돋움 글꼴이 이상하게 보입니다.

파일에 첨부한 그림처럼 이응이 이상하게 표시됩니다.
출력을 하면 화면과 똑같이 이상하게 출력되구요.
돋움만 그런 거 같은데 고칠 수 있는 방법이 있을지 궁금합니다.

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로 설정을 해준다거나 하는 정도였는데요.

페이지

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