반응형

C 35

내장된 C에 sprintf()가 있는 Float 사용

내장된 C에 sprintf()가 있는 Float 사용 얘들아, 난 알고 싶습니다.float변수를 사용할 수 있습니다.sprintf()기능. 예를 들면 다음과 같이 적습니다. sprintf(str,"adc_read = %d \n",adc_read); 어디에adc_read는 정수 변수이며 문자열을 저장합니다. "adc_read = 1023 \n" 인에str(라고 assuming합니다.adc_read = 1023) 정수 대신 부동 변수를 사용하려면 어떻게 해야 합니까?임베디드 플랫폼을 사용하고 있기 때문에 다양한 기능을 제공하지 못할 가능성이 높습니다.printf()스타일 함수. 플로트가 전혀 없다고 가정할 때(내장된 것에 대해 반드시 주어진 것은 아님) 다음과 같은 방법으로 플로트를 에뮬레이트할 수 있습니다..

prosource 2023.10.25

#이(가) 포함되어 있으면 실제로 어떤 역할을 합니까?

#이(가) 포함되어 있으면 실제로 어떤 역할을 합니까? C(또는 C를 기반으로 하는 언어)에서는 다음 문장을 즐겁게 사용할 수 있습니다. #include "hello.h"; 그리고 voila, 모든 기능과 변수는hello.h자동으로 사용할 수 있습니다. 하지만 실제로는 어떤 역할을 할까요?컴파일러 문서와 튜토리얼을 훑어보고 온라인으로 검색하는데 시간을 보냈지만 마법에 대해 내가 느낄 수 있는 유일한 인상은#include명령어는 다음의 내용을 "붙여넣기"한다는 것입니다.hello.h그 선 대신에그 이상의 것이 있을 겁니다.논리적으로는 복사/붙여넣기가 정확히 일어나는 일입니다.유감스럽게도 더 이상은 없습니다.당신은 필요 없어요.;,그래도. 귀하의 구체적인 예는 스펙, 섹션 6.10.2 소스 파일 포함, 단락..

prosource 2023.10.25

C에서 구조물의 const를 초기화하는 방법(malloc 포함)

C에서 구조물의 const를 초기화하는 방법(malloc 포함) 노력했습니다. void *malloc(unsigned int); struct deneme { const int a = 15; const int b = 16; }; int main(int argc, const char *argv[]) { struct deneme *mydeneme = malloc(sizeof(struct deneme)); return 0; } 이것은 컴파일러의 오류입니다. gereksiz.c:3:17: error: expected ':', ',', ';', '}' or '__attribute__' before '=' token 그리고 이것도.. void *malloc(unsigned int); struct deneme { co..

prosource 2023.10.20

스레드를 생성할 때 CPU 선호도 설정

스레드를 생성할 때 CPU 선호도 설정 첫 번째 코어에서 실행할 C++11 스레드를 생성하고 싶습니다.나는 그것을 발견합니다.pthread_setaffinity_np그리고.sched_setaffinity스레드의 CPU 선호도를 변경하고 지정된 CPU로 마이그레이션할 수 있습니다.그러나 이 선호도 사양은 스레드가 실행된 후 변경됩니다. 특정 CPU 선호도를 가진 C++11 스레드를 생성하는 방법(acpu_set_t목적)? C++11 스레드를 초기화할 때 친화도를 지정할 수 없다면 C 내에서 어떻게 해야 합니까? 저의 환경은 우분투의 G++입니다.코드 조각을 감사히 받겠습니다.여기서 "신비한 버스터"가 되어 유감스럽지만, 스레드 친화성 설정은 매우 중요하며, 우리 모두가 사용하는 시스템이 자연스럽게 NUMA..

prosource 2023.10.20

가장 엄격한 C 코드를 위한 GCC 옵션?

가장 엄격한 C 코드를 위한 GCC 옵션? 이 질문에는 이미 다음과 같은 답변이 있습니다. C에 권장되는 GCC 경고 옵션 (15개 답변) 닫힘9년 전에. GCC를 최대한 엄격하게 하려면 어떤 GCC 옵션을 설정해야 합니까?(그리고 저는 가능한 한 엄격하다는 것을 의미합니다.) 저는 C89로 글을 쓰고 있고 제 코드가 ANSI/ISO 규정을 준수하기를 원합니다.다음을 사용할 것을 권장합니다. -Wall -Wextra -std=c89 -pedantic -Wmissing-prototypes -Wstrict-prototypes \ -Wold-style-definition 다음과 함께 컴파일해야 합니다.-O게다가-g일부 경고는 옵티마이저를 사용할 때만 사용할 수 있기 때문에 (실제로, 저는 주로-O3문제를 발견..

prosource 2023.10.15

C - calloc() v. malloc()

C - calloc() v. malloc() 이 질문에는 이미 다음과 같은 답변이 있습니다. 닫힘13년 전에. 중복 가능: malloc와 calloc의 차이 이 진술의 의의를 설명해 주십시오. malloc() 함수와 calloc() 함수의 또 다른 차이점은 malloc( ) 함수에 의해 할당된 메모리가 가비지 값을 포함하는 반면 calloc( ) 함수에 의해 할당된 메모리는 모든 0을 포함한다는 것입니다. 출처('C' 프로그래밍, 살림 Y)암다니) 감사해요.출처: http://wiki.answers.com/Q/Is_it_better_to_use_malloc_or_calloc_to_allocate_memory malloc()이후로 더 빠릅니다.calloc()할당된 메모리가 모든 0을 포함하도록 초기화합니다..

prosource 2023.10.15

ARM Cortex-A8 프로세서에서 프로그램 실행 시간을 측정하는 방법?

ARM Cortex-A8 프로세서에서 프로그램 실행 시간을 측정하는 방법? 저는 i로 불리는 ARM Cortex-A8 기반 프로세서를 사용하고 있습니다.MX515. 리눅스 Ubuntu 9.10 배포판이 있습니다.큰는 C로며,다를 gettimeofday();응용 프로그램이 걸리는 시간을 측정하는 기능입니다. main() { gettimeofday(start); .... .... .... gettimeofday(end); } 이 방법은 제 애플리케이션의 어떤 블록이 얼마나 시간이 걸리는지 확인하기에 충분했습니다.하지만 지금은 gettime of day() 시간을 계산하는 방법으로 코드를 최적화하려고 노력하고 있기 때문에 연속적인 실행(최적화 전후에 실행) 간에 변동이 심하여 실제 실행 시간을 결정할 수 없어..

prosource 2023.10.10

C의 함수 포인터를 통해 정적 함수를 호출할 수 있습니까?

C의 함수 포인터를 통해 정적 함수를 호출할 수 있습니까? 소스 파일의 정적 함수는 파일 외부에서 직접 호출할 수 없다고 생각합니다.그러나 어떻게든 이 함수에 대한 포인터를 다른 파일로 가져올 수 있다면 그 파일에서 이 함수를 호출할 수 있습니까?만약 그렇다면 단순히 기능을 정지 상태로 만드는 것보다 이 경로를 택하고 싶을 때 어떤 시나리오가 있습니까?네, 포인터를 전달하여 정적 함수를 내보낼 수 있습니다.이것은 C에서 Factory 패턴을 구현하는 일반적인 수단입니다. 이 방법을 사용하는 모듈로부터 전체 함수의 구현을 숨길 수 있으며, 다음과 같은 기능을 가질 수 있습니다.FuncPtr_t GetFunction( enum whichFunctionIWant)그것들을 소비자들에게 나눠주는 것입니다.그만큼 ..

prosource 2023.10.05

DLL의 내보낸 기능의 네임 망글링을 중지하려면 어떻게 해야 합니까?

DLL의 내보낸 기능의 네임 망글링을 중지하려면 어떻게 해야 합니까? GetName이라는 함수를 내보내는 DLL을 만들려고 합니다.나는 다른 코드가 이 함수를 굳이 망가지지 않아도 호출할 수 있기를 바랍니다. 내 헤더 파일은 다음과 같습니다. #ifdef __cplusplus #define EXPORT extern "C" __declspec (dllexport) #else #define EXPORT __declspec (dllexport) #endif EXPORT TCHAR * CALLBACK GetName(); 내 코드는 다음과 같습니다. #include #include "PluginOne.h" int WINAPI DllMain (HINSTANCE hInstance, DWORD fdwReason, PV..

prosource 2023.09.25

프로그래밍 방식으로 OS X 명령줄 앱의 절대 경로 검색

프로그래밍 방식으로 OS X 명령줄 앱의 절대 경로 검색 프로그램은 를 수 ./proc/self/exe을 구축해야 더 이 필요합니다 FreeBSD에서는 sysctl call을 구축해야 하기 때문에 더 많은 작업이 필요합니다. int mib[4]; mib[0] = CTL_KERN; mib[1] = KERN_PROC; mib[2] = KERN_PROC_PATHNAME; mib[3] = -1; char buf[1024]; size_t cb = sizeof(buf); sysctl(mib, 4, buf, &cb, NULL, 0); 하지만 아직 완전히 가능합니다 줄 에 대해 을 찾을 수 .그러나 명령 줄 응용 프로그램에 대해 OS X에서 이를 결정할 방법을 찾을 수 없습니다.다를 할 수 [[NSBundle main..

prosource 2023.09.20
반응형