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

heeyam의 이미지

(*(void (*)()) shellcode)() 형태가 어떤 의미인지 궁금합니다.

(*(void (*)()) shellcode)(); 의 형태가

어떤 의미인지 알고 싶습니다.

아래에 관련 소스코드 첨부하였습니다.

------------<소스코드>------------------------------------------------

trymp의 이미지

yacc 로 왜 .c .h 파일을 만들죠??


리눅스 오픈소스를 보다보면 간혹가다가 yacc를 이용해서 .c .h 를 만드는 경우를 보게 되는데요.

그냥 만들면 될 것 같은데, 왜 yacc 를 이용해서 .c 파일을 만들죠?

궁금해서 아시는 분들 조언 주시면 감사하겠습니다.

adzoo의 이미지

C언어 alignment striction 관련해서 질문이 있습니다.

안녕하세요. 대학생 4학년 학부생입니다.
코딩을 하다가 갑자기 궁금한게 생겨서 질문드립니다.

OS(CPU)마다 address access 단위로 인하여 int 데이터형 크기가 다르잖아요
x86 x64에 따라 4byte 8byte 처럼

질문이 있습니다.
보통 프로그래밍할 때 Memory를 아끼기 위해
사용할 변수가 적은 수의 범위를 사용한다면
unsigned char(uint8_t)형이나 unsigned short(uint16_t) 사용하지 않습니까?

근데 address access 단위가 4byte라면 결국 주소를 접근하게 되면 저 변수들도 4byte로 읽을 거 같은데
그래서 1byte 변수를 사용해도 3byte는 alignment striction으로 인하여 padding bit가 될거 같은데
제 생각이 맞는지 궁금합니다.

1)
char a=3;
int b=3;

이거나

2)
int a=3
int b=3

이거나

haenara의 이미지

안드로이드 Q&A 스트리밍관련질문

안드로이드 1인 방송을 구현해보려고합니다.

frost917의 이미지

hyper-v putty접속

hyper-v에 putty를 이용해 centos에 접속하려고 합니다만 접속이 안되서 질문드립니다! 내부,외부 둘 다 안됩니다

semjase의 이미지

댓글 달렸을때 알림 받을 수 있는 방법?

제목 그대로 질문에 댓글이 달렸을때 알림을 받을 수 있는 방법이 있나요?

semjase의 이미지

[해결] -_-; 브라우징할때 자주 깜빡깜빡 거리는 문제

최근 웹서핑할때 화면이 자주 깜빡깜빡 거립니다. 예전엔 이런일이 없었는데 최근에 이럽니다.
처음에는 브라우저 문제인줄 알았는데 vivaldi, opera, firefox 다 똑같네요.

제가 최근에 뭐했는지 곰곰히 생각해보니 커널을 업그레이드 했네요.
( 4.4.0-45-generic #66-Ubuntu SMP )
커널 컴파일해서 설치한게 아니고 그냥 알림이 뜨길래 해줬습니다.

그외 유틸 몇개 깐거..이외에는 없스..아.. 그래픽 드라이버도 깔았습니다.
intel graphic 드라이버요.. 흠..근데 이건 아닌거같구.. 오래전에 깔았고 아무 문제없었음.

혹시 커널때문에 저럴 수 있나요?
(커널 업그레이드하고 과거 커널은 다 삭제했음)

현재 상태를 녹화해서 첨부하니 참고 부탁드립니다.

thinga3의 이미지

포트란 컴파일 후 실행 문제

mac os Sierra에서 gfortran 컴파일러를 이용해서 make를 하면 Hypoel이란 실행파일이 생성됩니다
이 실행파일을 가지고
quickrun 폴더에서
../source/Hypoel < hypo.in
을 하면 정상적으로 작동해야 하는데
자꾸만

At line 94 of file openfl.f (unit = 2)
Fortran runtime error: FILE parameter must not be present in OPEN statement

Error termination. Backtrace:
#0 0x1052e7a69
#1 0x1052e8725
#2 0x1052e8e89
#3 0x1053ad6a3
#4 0x1053ada2d
#5 0x105187b46
#6 0x1051a123e
#7 0x10516f02c
#8 0x1051ace11

trymp의 이미지

linux kernel 소스코드에서 함수구문 중 모르는 것이 있어 질문드립니다.


static void __task_rq_unlock(struct rq *rq)
	__releases(rq->lock)
{
	raw_spin_unlock(&rq->lock);
}

위의 함수처럼 함수문 다음 가로열기 전에 __releases(rq->lock) 이게 무슨의미죠?

함수시작하기 전에 초기화 해주는 것인가요?

이렇게 쓰는 경우를 처음봐서 어떻게 해석해야하는지 모르겠습니다.

어떤의미인지 알려주시면 감사하겠습니다.

msshinok의 이미지

[apt pkg server 관련]

ubuntu나 debian계열은 apt-get으로 프로그램들을 pkg형태로 손쉽게 설치하여 사용할 수 있는데요.

물론, 디펜던시등의 이유로 설치용량이 마구마구 증가하는 단점이 있어서 예전에는 embedded linux에서
거의 사용을 안했습니다.

하지만, 요즘은 램,낸드용량이 몇Giga단위로 올라가서, uboot/kernel porting후 ubuntu,debian rootfs을
설치하고, apt-get을 사용하여 package들을 설치하고, 프로그래밍하여 기능을 개발했습니다.

문제는 이후에 발생하는데요.

제품에 탑재된 rootfs의 바이너리가 아닌 소스를 구해서, 빌드하여 pkg server를 확보해야하는 문제가
생겼습니다.

물론 GPL에따라 소스코드는 github나 gitlab등을 사용하여 공개합니다.

현재 debian, raspbian등이 어떤 빌드시스템을 사용하는지에 대한 정보도 없구요.

debian pkg build부터 시작해야 하는건지?

조언부탁드려요.

페이지

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