반응형

C 52

llvm.bc 파일을 사람이 읽을 수 있는 .ll 파일로 변환하는 중

llvm.bc 파일을 사람이 읽을 수 있는 .ll 파일로 변환하는 중 바이너리 llvm 비트코드(extension .bc) 파일에서 인간이 읽을 수 있는 llvm 비트코드(extension .ll)를 생성하려면 어떻게 해야 합니까?여기 모든 allvm 명령어에 대한 유용한 링크가 있습니다.물론. 뻔하지.llvm-dis당신이 요구하는 것을 합니다.언급URL : https://stackoverflow.com/questions/10070635/converting-llvm-bc-file-to-human-readable-ll-file

programing 2023.11.05

C에서 ENUM을 함수 인수로 전달하는 방법

C에서 ENUM을 함수 인수로 전달하는 방법 나는 다음과 같이 선언된 열거형을 가지고 있습니다. typedef enum { NORMAL = 0, EXTENDED } CyclicPrefixType_t; CyclicPrefixType_t cpType; 이것을 인수로 하는 함수가 필요합니다. fun(CyclicPrefixType_t cpType); 함수 선언은 다음과 같습니다. void fun(CyclicPrefixType_t cpType); 어떻게 고치죠?저는 그것이 옳지 않다고 생각합니다.바로 그 방법입니다. #include typedef enum { NORMAL = 31414, EXTENDED } CyclicPrefixType_t; void func (CyclicPrefixType_t x) { print..

programing 2023.10.31

C에서 EOF까지 스캔프를 어떻게 읽습니까?

C에서 EOF까지 스캔프를 어떻게 읽습니까? 나는 이것을 가지고 있지만 일단 그것이 추정되는 EOF에 도달하면 루프를 반복하고 다시 스캔합니다. int main(void) { char words[16]; while(scanf("%15s", words) == 1) printf("%s\n", words); return 0; } 시도: while(scanf("%15s", words) != EOF) 당신은 비교해 볼 필요가 있습니다.scanf생산.EOF 다음의 너비를 지정하고 있습니다.15형식 문자열에서는 최대 15자를 읽을 수 있습니다.따라서 단어 배열은 크기가 커야 합니다.16(15 +1위해서nullchar). 그럼 다음과 같이 선언합니다. char words[16]; 스캔프는 항상 가치보다 훨씬 더 문제가..

programing 2023.10.31

정수에 필요한 바이트 수를 결정하는 방법은?

정수에 필요한 바이트 수를 결정하는 방법은? 정수를 저장하는 데 필요한 최소 바이트 수를 정확도를 잃지 않고 계산할 수 있는 가장 효율적인 방법을 찾고 있습니다. e.g. int: 10 = 1 byte int: 257 = 2 bytes; int: 18446744073709551615 (UINT64_MAX) = 8 bytes; 감사해요. 추신: 이것은 수백만 번 호출될 해시 함수를 위한 것입니다. 또한 바이트 크기가 2의 거듭제곱일 필요는 없습니다. 가장 빠른 해결책은 다음과 같습니다. int bytes; if (hash 20) - 0x3FF; 조회 테이블이 있는 정수의 로그베이스 2 찾기 static const char LogTable256[256] = { #define LT(n) n, n, n, n, ..

programing 2023.10.31

포인터 + 1이 4를 추가하는 이유

포인터 + 1이 4를 추가하는 이유 #include int main(void){ int *ptr,a,b; a = ptr; b = ptr + 1; printf("the vale of a,b is %x and %x respectively",a,b); int c,d; c = 0xff; d = c + 1; printf("the value of c d are %x and %x respectively",c,d); return 0; } 산출값은. the vale of a,b is 57550c90 and 57550c94 respectively the value of c d are ff and 100 respectively% ptr + 1로 밝혀졌는데, 왜 이런 식으로 행동하는 거지?포인터가 배열과 호환되도록 설계되었기..

programing 2023.10.26

Visual Studio 2010으로 C를 개발하는 방법은?

Visual Studio 2010으로 C를 개발하는 방법은? Visual Studio 2010으로 순수 ANSIC을 개발할 수 있는 방법이 있습니까?네, 가능합니다.MSDN에서는 ANSIC Compliance라는 몇 가지 정보를 제공합니다. 1단계는 컴파일러가 C++ 코드가 아닌 C 코드를 생성하도록 설정하는 것입니다.프로젝트의 속성에서 이 작업을 수행합니다.C/C++ 헤더를 펼친 후 "Advanced"를 클릭합니다.Compile As 속성을 "C Code로 Compile"(명령줄에 스위치를 지정하는 것과 동일)로 설정합니다.파일 이름을 지정하는 것이 훨씬 더 쉽습니다.*.c내선 두 번째 단계는 마이크로소프트의 ANSI 표준 확장 기능을 비활성화하는 것입니다.이들은 및 컴파일러 스위치에 의해 제어됩니다...

programing 2023.10.26

When to use const void*?

When to use const void*? 이 간단한 테스트 기능을 가지고 있습니다. 이 기능을 사용하여 컴퓨터에 무슨 일이 일어나고 있는지 파악하고 있습니다.const한정자 int test(const int* dummy) { *dummy = 1; return 0; } This one throws me an error with GCC 4.8.3. Yet this one compiles: int test(const int* dummy) { *(char*)dummy = 1; return 0; } 그래서 뭔가.const한정자는 다른 유형에 캐스팅하지 않고 인수를 사용하는 경우에만 작동합니다. Recently I've seen codes that used test(const void* vpointer, .....

programing 2023.10.26

포크는 정확히 무엇을 돌려 줍니까?

포크는 정확히 무엇을 돌려 줍니까? 성공하면 자식 프로세스의 PID가 부모 실행 스레드에 반환되고 자식 실행 스레드에 0이 반환됩니다. p = fork(); 매뉴얼 페이지가 헷갈리던데요?p와 대등한0아니면PID?설명서가 어떻게 더 명확해질 수 있는지 모르겠어요!fork()새 프로세스를 생성하므로 두 개의 동일한 프로세스가 생성됩니다.이들을 구별하기 위해, 반환 값은fork()다르다.원래 프로세스에서는 자식 프로세스의 PID를 얻습니다.자식 프로세스에서는 0을 얻습니다. 따라서 표준적인 용도는 다음과 같습니다. p = fork(); if (0 == p) { // We're the child process } else if (p > 0) { // We're the parent process } else { ..

programing 2023.10.16

#정의 블록을 클랜 형식으로 정렬할 수 있습니까?

#정의 블록을 클랜 형식으로 정렬할 수 있습니까? 이런 행이 포함된 소스 파일이 있습니다. #define ARC_V2_LP_START 0x002 #define ARC_V2_LP_END 0x003 #define ARC_V2_STATUS32 0x00a 모든 가치관들이 잘 정렬되어 있습니다.유감스럽게도 clang-format은 이렇게 합니다. #define ARC_V2_LP_START 0x002 #define ARC_V2_LP_END 0x003 #define ARC_V2_STATUS32 0x00a AlignConsecutiveDeclarations 및 AlignConsecutiveAssignments 옵션을 찾았지만 연속된 #정의를 정렬하는 것은 없습니다.이것도 가능한가요?[업데이트] op의 pull requ..

programing 2023.10.11

C 함수 프로토타입에 파라미터 이름을 입력하시겠습니까?

C 함수 프로토타입에 파라미터 이름을 입력하시겠습니까? C에서 함수를 선언할 때는 파라미터의 이름을 쓸 필요가 없는 프로토타입을 설정해야 합니다.종류만 있으면 충분합니다. void foo(int, char); 제 질문은 파라미터의 이름도 포함하는 것이 좋은 방법인가 하는 것입니다.네, 프로토타입에서도 주장의 이름을 짓는 것이 좋은 관행으로 여겨집니다. 일반적으로 모든 프로토타입을 헤더 파일에 저장하게 되며, 헤더는 사용자가 검사할 수 있는 유일한 항목일 수 있습니다.따라서 의미 있는 인수 이름을 갖는 것이 API에 대한 첫 번째 문서 수준입니다. 마찬가지로 기능의 구현 방식이 아닌 기능에 대한 의견도 시제품과 함께 머리글에 실려야 합니다. 잘 쓰여진 헤더 파일이 라이브러리의 가장 중요한 부분일 수도 있습..

programing 2023.10.06
반응형