반응형

C 117

오래된 데스크톱 컴퓨터에 소형 운영체제를 구축하려면 어떻게 해야 하나요?

오래된 데스크톱 컴퓨터에 소형 운영체제를 구축하려면 어떻게 해야 하나요? 닫혔어. 이 질문은 좀 더 자세히 설명해야 합니다.초점을 맞춥니다.현재 답변을 받고 있지 않습니다. 이 질문을 개선하시겠습니까?이 게시물을 편집하여 하나의 문제에 초점을 맞추도록 질문을 업데이트하십시오. 5년 전에 문을 닫았어요 이 질문을 개선하다 운영체제를 쓰는 것은 매우 복잡하기 때문에(특히 혼자서) 헛수고일 수 있습니다. 다음 Linux 또는 Windows 구축은 기대하지 않습니다. 끔찍하고, 버그가 심하고, 효과가 없을거란걸 알지만, 그건 괜찮아. 조립체 C와 (일부) C++에 있는 모든 것을 내가 직접 쓰고 싶다. 이것은 장래의 프로젝트입니다.지금 당장은 다른 일로 바쁘고 시간이 없기 때문에 지금 물어봐야겠다고 생각했습니다..

sourcecode 2022.07.31

'pow' 및 'floor'에 대한 참조가 정의되지 않았습니다.

'pow' 및 'floor'에 대한 참조가 정의되지 않았습니다. C에서 간단한 피보나치 계산기를 만들려고 하는데 컴파일할 때gcc전원과 바닥 기능이 부족하다고 하네요뭐가 잘못됐나요? 코드: #include #include int fibo(int n); int main() { printf("Fib(4) = %d", fibo(4)); return 0; } int fibo(int n) { double phi = 1.61803399; return (int)(floor((float)(pow(phi, n) / sqrt(5)) + .5f)); } 출력: gab@testvm:~/work/c/fibo$ gcc fib.c -o fibo /tmp/ccNSjm4q.o: In function `fibo': fib.c:(.tex..

sourcecode 2022.07.31

Android NDK 코드에 간단하게 로그인 할 수 있는 방법이 있습니까?

Android NDK 코드에 간단하게 로그인 할 수 있는 방법이 있습니까? 이클립스를 사용하여 Android NDK 어플리케이션에서 C코드를 쉽게 디버깅할 수 있는 방법을 찾고 있습니다.gdb나 비슷한 것을 사용하여 앱을 디버깅하는 방법을 읽었지만, 내가 원하는 것은 어떻게든 이클립스에 메시지를 보내는 방법입니다. C에서 인쇄 기능을 사용하여 DDMS 로그 등에서 볼 수 있는 간단한 솔루션을 찾고 있습니다.이거 해본 사람 있어요?Android 로깅 기능을 사용할 수 있습니다. #include #define APPNAME "MyApp" __android_log_print(ANDROID_LOG_VERBOSE, APPNAME, "The value of 1 + 1 is %d", 1+1); Android.mk 파..

sourcecode 2022.07.30

경과시간 측정이 용이

경과시간 측정이 용이 time()을 사용하여 프로그램의 다양한 포인트를 측정하려고 합니다. 이해할 수 없는 것은, 왜 이전과 후의 값이 같은가 하는 것입니다.이 방법이 프로그램을 프로파일링하는 최선의 방법이 아니라는 것을 알고 있습니다. 다만 시간이 얼마나 걸리는지 알고 싶을 뿐입니다. printf("**MyProgram::before time= %ld\n", time(NULL)); doSomthing(); doSomthingLong(); printf("**MyProgram::after time= %ld\n", time(NULL)); 시도했습니다. struct timeval diff, startTV, endTV; gettimeofday(&startTV, NULL); doSomething(); doSome..

sourcecode 2022.07.30

gdb에 설정을 저장하는 방법

gdb에 설정을 저장하는 방법 gdb 설정 저장 방법 아는 사람('프린트 예쁘게 설정' 또는 '프린트 요소 0 설정' 둘 다 여기서)gdb :/ 를 사용할 때마다 설정을 하고 싶지 않습니다. 구글 등에서 검색해 봤지만 아무것도 찾을 수 없었습니다.홈 디렉토리의 .gdbinit 파일에서 자동으로 실행할 명령을 추가합니다.기존 답변은 바이너리가 로드되기 전에 실행할 수 있는 명령어에 대해 기능하지만 예를 들어 다음을 추가하려는 경우catch throw이 명령어는 바이너리가 로드된 후에 실행해야 하므로 .gdbinit에서는 실행할 수 없습니다. 그러나 gdb는 다음 명령을 사용하여 바이너리 로드 후 실행할 파일을 가져올 수 있습니다. -x file Execute GDB commands from file fil..

sourcecode 2022.07.30

스위치의 케이스를 건너뛰기 위해 if(0)를 사용하는 것은 기능합니까?

스위치의 케이스를 건너뛰기 위해 if(0)를 사용하는 것은 기능합니까? C++ 스위치스테이트먼트의 2개의 케이스가 모두 3번째 케이스로 넘어갔으면 하는 상황이 있습니다.구체적으로는 두 번째 케이스가 세 번째 케이스로 넘어가고 첫 번째 케이스도 두 번째 케이스로 넘어가지 않고 세 번째 케이스로 넘어갑니다. 멍청한 생각이 나서 시도해 봤는데 효과가 있었어!두 번째 케이스를 싸서if (0) {...}. 다음과 같습니다. #ifdef __cplusplus # include #else # include #endif int main(void) { for (int i = 0; i < 3; i++) { printf("%d: ", i); switch (i) { case 0: putchar('a'); // @fallthr..

sourcecode 2022.07.28

특정 프로세스에 대해 런타임에 로드되는 공유 라이브러리를 확인하는 방법

특정 프로세스에 대해 런타임에 로드되는 공유 라이브러리를 확인하는 방법 실행 중인 프로세스가 어떤 라이브러리를 사용하고 있는지 확인할 수 있는 방법이 있습니까? 좀 더 구체적으로 말하면, 프로그램이 dlopen을 사용하여 일부 공유 라이브러리를 로드하는 경우 readelf 또는 ldd는 이를 표시하지 않습니다.실행 중인 프로세스에서 그 정보를 얻을 수 있습니까?만약 그렇다면, 어떻게?다른 사람들은 올바른 길을 가고 있다.여기 몇 가지 방법이 있습니다. cat /proc/NNNN/maps | awk '{print $6}' | grep '\.so' | sort | uniq 또는 Strace를 사용하는 경우: strace CMD.... 2>&1 | grep -E '^open(at)?\(.*\.so' 둘 다 공..

sourcecode 2022.07.28

C++ 프로그램에 대한 C 라이브러리 사용

C++ 프로그램에 대한 C 라이브러리 사용 Qt를 사용하여 만든 GUI를 사용하여 Dynamixel Servo를 제어하려고 합니다.Dynamixel은 모터를 제어하기 위한 C 라이브러리의 C 세트를 제공하지만, GUI를 만드는 유일한 방법은 본질적으로 C++인 Qt입니다.Qt C++ 코드에서 Dynamicixel C 라이브러리를 사용할 수 있습니까?네, C++는 C++ 컴파일러를 사용하여 C를 컴파일할 수 있으며 C++와 C를 링크할 수 있습니다.호출하는 모든 C 함수가 C 링크를 사용하는지 확인하십시오.이것은 C 함수의 프로토타입을 에워싸고,extern "C" #ifdef __cplusplus extern "C"{ #endif void c_function_prototype(); #ifdef __cplu..

sourcecode 2022.07.27

온도 변수 때문에 프로그램이 느려집니까?

온도 변수 때문에 프로그램이 느려집니까? 다음과 같은 C 코드가 있다고 가정합니다. int i = 5; int j = 10; int result = i + j; 번, '루프'를 사용하는 요?int result = 5 + 10예를 들어 두 변수가 인덱스를 계산하기 위해 긴 식을 사용하여 배열에서 가져온 경우 등 코드를 읽기 쉽게 하기 위해 임시 변수를 만드는 경우가 많습니다.C 에 포 c c c c c c?른른른른른른른른?최신 최적화 컴파일러는 이러한 변수를 최적화해야 합니다. 예를 들어 godbolt에서 다음 예를 사용하는 경우,gcc-std=c99 -O3flags(실시간 참조): #include void func() { int i = 5; int j = 10; int result = i + j; pri..

sourcecode 2022.07.27
반응형