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

익명 사용자의 이미지

c언어 문법 질문하겠습니다..

안녕하세요. 소스를 보고 해석해야 하는데 문법적인 부분을 모두 찾아서 하는 중 자료를 못찾겠어서.. 이렇게 질문을 올립니다.

1. 아래 문법에서 extern은 외부 변수를 가져오는 것은 알겠는데 그 뒤에 MESSAGE는 외부 파일 명이라 생각하는 것인가요? 또한, 그 변수를 사용해서 값을 넣는거 같은데 a뒤에 점을 찍고 b라고 치는건 a가 구조체로서 그 안에 있는 b값에 0x00을 넣는다는 의미인건가요?

extern MESSAGE a;

a.b = 0x00;

2. a &= b은 a = a&b와 같은 의미인거죠?

3. asm("NOP")는 데이터 시트에 나와있는 명령어 하나 처리하는 시간만큼 딜레이를 한다는데
– 135 Powerful Instructions – Most Single Clock Cycle Execution
이 부분을 통해 1cycle이라는 것을 알 수 있는건가요? 그러면 1cycle이 몇s인건 어떻게 계산하는 건가요?

긴 글 읽어주셔서 감사합니다.

haebi의 이미지

lvm 스냅샷이 궁금합니다.

리눅스 새로 설치하다 LVM 이 있길래 한번 적용해 보았습니다.
루트파티션 줄이고, 홈 파티션 잡고 등등... 설정하다 스냅샷 한번 써볼까 하여 조사를 좀 하였습니다.

일단 제가 이해하고 있는 lvm 스냅샷 입니다.

1. 스냅샷 만들고
원본lv <-
스냅샷lv (1G)

2. 만든 스냅샷 사용하도록 설정한다.
원본lv
스냅샷lv (1G) <-

3. 스냅샷 만들때 설정한 용량 초과하면 정지된다 ...?
zfs는 선 사용 후 할당이면, lvm은 선 할당 후 사용 (내가 이 스냅샷에서 얼마만큼 쓸지 미리 계산해둬야 하는 불편함?)

4. 원본 + 스냅샷 의공간만큼 pv 에서 용량이 소모된다.
예)
원본LV 10G 중 3G 사용 (7G 빈공간)
스냅샷 10G 설정.

semjase의 이미지

유용한 유틸이 Qt 구버젼으로 작성되어있다면 어떻게 설치하나요?

제 환경은 xubuntu 18.04, 그리고 QT 5.11.2가 깔려있습니다.

유용한 유틸리티 소스를 구했는데 그게 구버젼(QT 4.4)으로 작성되어 있습니다.
전 하위호환성이 있을것으로 생각하고 그냥 컴파일 해보니 에러가 나네요.

고수분들은 이런경우 어떻게 하나요?

구버젼 QT를 설치하나요? 아니면 소스를 수정해서 처리하나요?

trymp의 이미지

linux kerenl modules 이 해제될 때, module 가지고 있던 메모리는 참조가 되나요?

linux kernel 에서 module 을 사용해서 insmod(), rmmod() 할 수 있잖아요?

가령 test.ko 라는 모듈이 있을 때,

[ linux buildin kernel ]
char *g_ptr = NULL;
EXPORT_SYMBOL(g_ptr);

[ test.ko ]
extern char *g_ptr;
g_ptr = kmalloc(10);
memcpy(g_ptr, "ABCD", 5);

위와 같은 형태로 되었을 때, g_ptr 을 해제하지 않고 rmmod test.ko 가 되었을 때
나중에 커널이미지에서 g_ptr 을 참조하면 어떻게 되나요?
printk("%s \n", g_ptr);

을 하면 g_ptr 은 아직 유효한 메모리라서 "ABCD" 찍히나요?
아니면 잘못된 메모리 참조로 패닉이 나나요?

회원들의 조언 부탁드립니다.

익명 사용자의 이미지

c언어 질문드립니다.

#define _CRT_SECURE_NO_WARNINGS
#include < stdio.h >

void main()
{

FILE *fp;

char s[1024];

printf("어떤 주제를 선택하시겠습니까?(228days.txt/beautyinside.txt/canada.txt/lens.txt/orion.txt):");
scanf_s("%s",s );

fp = fopen((char*)s, "r");

while (!feof(fp))

{

fgets(s, 500, fp);

puts(s);

}

fclose(fp);

}
이런식으로 코드를 짰는데 코드가 죽어버리네요..ㅜㅜ 왜그런걸까요?
또이 이후에 사용자가 어떤 단어를 입력하면 그단어의 좌우 20글자까지 같이 출력하는 프로그램을 만들어야하는데 이건 어떻게 해아 하는 건가요??

kyuho6942의 이미지

우분투 리눅스 구조에 대해서 질문있습니다.

안녕하세요 저는 예전부터 QtCreator를 우분투에 설치하여 사용하고 있습니다. qt 공식 홈페이지에서 인스톨러로 qt를 설치하게 되면 QtCreator도 같이 설치되면서 우분투에서 데스크탑 아이콘으로 잘 인식이 됩니다. 하지만 보통 우분투에서 인식되는 데스크탑 아이콘들은 /usr/share/applications 디렉토리에 있는데 QtCreator는 앞서 말한 디렉토리에 있지 않고
~/Qt/Tools/QtCreator/share/applications 디렉토리 안에 있습니다. 구조 상 우분투가 이 데스크탑 파일을 어떻게 인식하는지 궁금합니다

trymp의 이미지

linux kernel code 에서 list_head 와 hlist_head 의 차이?

리눅스 커널 코드에서 보면 그냥 단순한 list 가 있고 해쉬리스트로 hlist 가 있잖아요.

그 두개가 무슨 차이가 있는거죠?

그냥 list 쓰면 안되나요? 용도의 차이가 무었인진 궁금합니다.

알려주시면 감사하겠습니다.

익명 사용자의 이미지

메모리 사용법에 대해 질문하겠습니다..

안녕하세요..
atmega에서 내부 메모리 외부메모리에 대해 공부하고 사용하는 중인데 정말 이해가 안가서 질문합니다..

1. 외부 메모리의 주소가 0x2200에서 0xFFFF까지인데 하나의 atmega에 외부 메모리를 두개를 연결하였습니다.
그러면 메모리 1에서 사용되는 주소가 있다면 그 외의 주소를 입력하면 외부 메모리 2로 연결이 되는건가요?..

2.그렇다면 외부 메모리의 주소설정은..어떻게하는건가요...?

3. 외부 메모리 접근 때에는

MCUCR = 0x80;
XMCRA = 0xC1;
XMCRB = 0x80;

위의 레지스터를 설정하였었는데, 내부 메모리 때에도 레지스터를 설정해줘야 하는 건가요?

읽어주셔서 감사합니다.

bao의 이미지

c언어 free 관련해서 질문이 있습니다.

구조체 B {
...
...
}

구조체 A {
....

char * buf

....
}

main ()
{
A a;
B *b = (구조체 *B)malloc(sizeof(구조체 B));

a.buf = (char *) b;

}

위에 처럼 B 구조체의 정보를 A구조체의 char *에 저장을 해놓으려고 합니다. (char * 로 한 이유는 사실 아무 데이터 형이든 상관이 없지만 여기 buf에 다른 여러가지 구조체 정보가 상황에 따라 올수가 있어 그냥 char *로 하였습니다.)

이런 상황에서 free를 할때

free(buf)를 해도 메모리 누수가 생기지 않는지 궁금합니다.
생긴다면 어떻게 해야 하는지와... 메모리 누수가 생기지 않는다면 왜 안생기는지가 궁금합니다..

kutest의 이미지

vb6 컴파일오류

private declare~
 
public sub~
end sub
 
private function~
end function
 
private declare ~   (이부분)

(이부분) 이라는 곳에서
사진처럼 컴파일 오류가뜨는데 맨위로 올려야되나요

페이지

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