C 33

printf()를 사용하는 데 #include가 필요하지 않은 이유는 무엇입니까?

printf()를 사용하는 데 #include가 필요하지 않은 이유는 무엇입니까? 세션 녹취록: > type lookma.c int main() { printf("%s", "no stdio.h"); } > cl lookma.c Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. lookma.c Microsoft (R) Incremental Linker Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. /out:look..

programing 2023.11.05

wmain과 main의 차이점은 무엇입니까?

wmain과 main의 차이점은 무엇입니까? 그래서 저는 수업을 시작합니다. #include #include 그리고 거기에.wmain기능. C/C++ 프로그램에서 주로 사용하는 메인 기능과 어떤 차이가 있습니까?"코드가 유니코드 프로그래밍 모델을 고수한다면, wmain인 main의 와이드 문자 버전을 사용할 수 있습니다." http://msdn.microsoft.com/en-us/library/aa299386%28VS.60%29.aspx main( int argc, char *argv[ ], char *envp[ ] ) { program-statements } wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] ) { program-statements } 사이의 ..

programing 2023.10.31

비트 조작을 이용하여 64비트 값에서 유일한 세트 비트의 위치를 효율적으로 찾는 방법은?

비트 조작을 이용하여 64비트 값에서 유일한 세트 비트의 위치를 효율적으로 찾는 방법은? 그냥 내게 타입의 가치가 있다고 말해요.uint64_t옥텟의 수열(1 옥텟 = 8비트)로 볼 수 있습니다. 그uint64_t값은 MSB 위치에 하나의 세트 비트만 포함하는 것으로 알려져 있습니다.그래서.uint64_t값은 다음과 같은 이진 표현 중 하나일 수 있습니다. 00000000 00000000 00000000 00000000 00000000 00000000 00000000 10000000 pos = 7 00000000 00000000 00000000 00000000 00000000 00000000 10000000 00000000 pos = 15 00000000 00000000 00000000 00000000 ..

programing 2023.10.31

C++ 예외는 C 코드를 통해 안전하게 전파됩니까?

C++ 예외는 C 코드를 통해 안전하게 전파됩니까? 저는 SQLite의 (SQLite는 C에 있음) sqlite3_exec()를 호출하는 C++ 애플리케이션을 가지고 있는데, 이것은 다시 C++에서 구현된 제 콜백 함수를 호출할 수 있습니다.SQLite는 정적 라이브러리로 컴파일됩니다. 예외가 발생하면 SQLite의 C 코드를 통해 sqlite3_exec()라는 C++ 코드로 안전하게 전파됩니까?이것은 컴파일러에 의존적인 것 같습니다.하지만 콜백에서 예외를 두는 것은 매우 나쁜 생각일 것입니다.플랫 아웃이 되지 않거나 SQLite 라이브러리의 C 코드가 처리할 수 없습니다.SQLite의 코드가 무엇인지 고려해 보십시오. { char * p = malloc( 1000 ); ... call_the_callb..

programing 2023.10.31

x86_64 va_list 구조의 형식은 무엇입니까?

x86_64 va_list 구조의 형식은 무엇입니까? 누구든지 다음의 표현에 대한 참고 자료를 가지고 있습니다.va_listx86_64 ABI(Linux에서 사용되는 ABI)에서?스택이나 인수가 손상된 것처럼 보이는 코드를 디버그하려고 하는데 제가 봐야 할 내용을 이해하는 데 정말 도움이 될 것 같습니다.x86-64 System V Abi document가 도움이 될 수 있습니다.비록 가볍지만 참고용입니다. Variable Argument List 참조는 54페이지에서 시작하여 56-57페이지 문서로 이어집니다.va_list: 그va_list유형 그va_listtype은 하나의 구조의 단일 요소를 포함하는 배열로 구현하기 위해 필요한 정보를 포함합니다.va_argmacro. 의 C 정의.va_list유형..

programing 2023.10.26

C에서 MP3 파일을 재생하는 방법은?

C에서 MP3 파일을 재생하는 방법은? 저는 C에서 MP3 파일을 가장 쉽게 재생할 수 있는 방법을 찾고 있습니다.파일 이름에 있는 함수를 호출할 수 있는 라이브러리나 실행 파일을 찾고 있습니다.제안 좀 해주세요.FMOD(크로스 플랫폼)를 사용하면 다음과 같이 간단해야 합니다. #include #include "inc/fmod.h" FSOUND_SAMPLE* handle; int main () { // init FMOD sound system FSOUND_Init (44100, 32, 0); // load and play mp3 handle=FSOUND_Sample_Load (0,"my.mp3",0, 0, 0); FSOUND_PlaySound (0,handle); // wait until the user..

programing 2023.10.26

스트레이트 C 프로그램에서 오류 처리에 좋은 숙어가 있습니까?

스트레이트 C 프로그램에서 오류 처리에 좋은 숙어가 있습니까? 다시 C 작업을 시작하는 중입니다. 많은 기능이 다음과 같습니다. int err = do_something(arg1, arg2, arg3, &result); 결과는 함수에 의해 채워지고 반환 값은 통화 상태가 됩니다. 부정적인 측면은 이런 순진한 것을 얻게 된다는 것입니다. int err = func1(...); if (!err) { err = func2(...); if (!err) { err = func3(...); } } return err; 매크로를 할 수 있을 것 같네요. #define ERR(x) if (!err) { err = (x) } int err = 0; ERR(func1(...)); ERR(func2(...)); ERR(fu..

programing 2023.10.21

왜 우리는 공허함 이외의 다른 점들을 가지고 있는 거지?

왜 우리는 공허함 이외의 다른 점들을 가지고 있는 거지? 저는 우리가 다른 포인터를 가지고 있다는 것을 압니다.int,float,그리고.char.A.void포인터는 다른 모든 포인터를 담을 수 있는 유일한 포인터입니다. 다른 포인터들은 포인터 연산을 할 수 있는 유연성을 위해서만 존재합니까? 그 외에 다른 이유가 있나요?voidC언어로 존재합니까?타입 세이프티.포인터의 유형을 정의하면 컴파일러가 포인터를 통해 잘못된 유형의 데이터를 사용하려고 할 때 오류를 찾는 데 도움이 됩니다.그것이 C가 애초에 타입이 있는 이유입니다.컴파일러는 지적된 유형을 알아야 합니다. 그렇지 않으면 모든 종류의 코드가 작동하지 않습니다.다음을 고려합니다. *a = *b + *c; // char를 추가해야 합니까? int? fl..

programing 2023.10.21

문자열 리터럴은 고정입니까?

문자열 리터럴은 고정입니까? 내가 문자열 리터럴을 a에 할당해도 GCC와 Clang 모두 불평하지 않습니다.char*, 많은 현학적 옵션을 사용할 때에도 (-Wall -W -pedantic -std=c99): char *foo = "bar"; 그들이 (물론) 내가 일을 맡긴다면 불평을 할 것입니다.const char*에 이르기까지char*. 이것은 문자열 리터럴이 다음과 같은 것으로 간주된다는 것을 의미합니까?char*거 요? 그래야만 하는 거 아닌가요?const char* 그들이 수정된다면 그것은 정의된 행동이 아닙니다! 그리고 (상관없는 질문) 명령줄 매개 변수(즉:argv: 문자열 리터럴의 배열로 간주됩니까?그들은 타입입니다.char[N]어디에N는 종결자를 포함한 문자의 수 입니다.\0. 그래서 네..

programing 2023.10.21

CUDAC 및 C++ 설명

CUDAC 및 C++ 설명 CUDAC와 C++의 성격에 대해 잘 설명해 줄 수 있는 사람?제가 알기로는, CUDA는 엔비디아의 GPU 라이브러리와 함께 C가 되어야 하는 것으로 알고 있습니다.현재 CUDAC는 일부 C++ 기능을 지원하지만 다른 기능은 지원하지 않습니다. 엔비디아의 계획은?C를 기반으로 구축하고 자체 라이브러리를 추가할 예정입니까(예:추력 대 STL) C++와 비슷한 것?그들은 결국 모든 C++를 지원할 것입니까?에서 C++요?.cu일?CUDAC는 C 구문을 가진 프로그래밍 언어입니다.개념적으로 C와 상당히 다릅니다. 이것이 해결하려는 문제는 여러 프로세서에 대해 여러 개의 (유사한) 명령 스트림을 코딩하는 것입니다. CUDA는 SIMD(Single Instruction Multiple ..

programing 2023.10.16