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

익명 사용자의 이미지

CRC 사용법에 있어 질문드립니다.

안녕하세요. crc 부분을 공부하고 있습니다. 자료를 찾아서 하는 도중 너무 감을 못잡겠어서 질문드립니다. 이게 맞는 말인건지..한번 읽어주시면 감사하겠습니다.

1. crc란 순환 중복 검사로 데이터를 송신하면 제대로 수신되었는지 확인하기 위하여 사용되는 것입니다.

2. 사용 방법으로

보내고 싶은 데이터 A
특정 값 B

A뒤에 B의 최고차항 수만큼 비트를 더한 데이터 A'

crc데이터 C (A'/B의 나머지)

A'에서 더해준 비트에 C를 넣은 데이터 D

D를 송신.
D를 수신.

D에서 A'만 가져옴.
다시 B로 나눠 나머지가 같으면 통과.

3. 1bit씩 확인하고 싶으면

A : 0x01
B : 0x01

A' : 0x010

C : 0x00

D : 0x010...

이라 하는건가요.. 계산이 너무 헷갈리는군요..

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

익명 사용자의 이미지

시리얼 통신(232) 에서 드물게 에러가 발생합니다.

시리얼 통신으로 데이터를 보내는중에 음 하루에 2~3회 정도 에러가 발생합니다.

1초에 한번씩 데이터를 전송중이고 1회 에러가 발생하게 된경우 짧게는 10초 ~ 길게는 60초 정도

잘못된 데이터 값이 전송이 됩니다..

예를 들면 stx 데이터1, 데이터2, 데이터3, 데이터4, 데이터5, 데이터6, 데이터7, 데이터8 ETX

이런식으로 전송되는 것이 정상적일때

stx 데이터1, 데이터2, 데이터3, 데이터4, 데이터5, 데이터6, 데이터7, 데이터8(여기에 STX가 물려서 다음라이인이 이어서 전송) ETX

와 같이 데이터 8에 STX가 물려서 그다음 라인이 전송되는 에러가 발생하거나

stx 데이터1, 데이터2, 데이터4, 데이터4, 데이터5, 데이터6, 데이터7, 데이터8 ETX

데이터 3번 자리에 4번이 덧씌어지거나 하는 현상이

24시간 ( 86400 초 간 전송 ) 시 약 100~200개 정도의 데이터가 이러한 에러를 보이고 있습니다.

232통신은 9600/8/N/1/N 으로 사용하고있는데

익명 사용자의 이미지

C언어 문자열 잘르기 및 탐색

32,"zzz,zzz" ,asd 또는 43 , ㅁㄴㅇ, ㅁㄴㅇ 이 2 두가지 형태 존재

가 있을 때
32
zzz zzz
asd
이렇게 3가지로 자르고 싶은데
strtok 으로 , 를 자르면 " "안에 있는 문자열이 잘려서 의도한대로 되지가 않습니다..
혹시 방법이 없을까요??

익명 사용자의 이미지

어셈블리어 해석


function kk:
0x000000000040100c <+0>: push %rbx
0x000000000040100d <+1>: mov %edx,%eax
0x000000000040100f <+3>: sub %esi,%eax
0x0000000000401011 <+5>: mov %eax,%ebx
0x0000000000401013 <+7>: shr $0x1f,%ebx
0x0000000000401016 <+10>: add %ebx,%eax
0x0000000000401018 <+12>: sar %eax
0x000000000040101a <+14>: lea (%rax,%rsi,1),%ebx
0x000000000040101d <+17>: cmp %edi,%ebx

익명 사용자의 이미지

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글자까지 같이 출력하는 프로그램을 만들어야하는데 이건 어떻게 해아 하는 건가요??

페이지

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