반응형

C 66

C는 (...)의 크기와 ...의 크기를 올바르게 처리합니까?이 경우에는?

C는 (...)의 크기와 ...의 크기를 올바르게 처리합니까?이 경우에는? 다음 코드에서 기능은test그리고.test2동등한? typedef int rofl; void test(void) { rofl * rofl = malloc(sizeof(rofl)); // Is the final rofl here the TYPE? } void test2(void) { rofl * rofl = malloc(sizeof *rofl); // Is the final rofl here the VARIABLE? } 즉, 한다rofl인에sizeof(rofl)정확하게 고릅니다.rofl 괄호 때문에 타자를 치나요? 한다rofl인에sizeof *rofl정확하게 고릅니다.rofl 괄호가 부족해서 변수가 생긴 건가요? 참고: 이것은 우습..

programing 2023.09.08

전화기의 터미널에서 실행할 수 있는 네이티브 안드로이드 바이너리를 컴파일하고 싶습니다.

전화기의 터미널에서 실행할 수 있는 네이티브 안드로이드 바이너리를 컴파일하고 싶습니다. 저는 며칠 동안 터미널 애플리케이션을 사용하여 제 전화기에서 실행될 네이티브 ARM Android 바이너리를 컴파일하려고 했습니다.저는 ls, mkdir 등과 같이 전화기에 설치된 표준 Posix 바이너리와 동일한 유형의 바이너리를 생성하고 싶습니다.저는 Mac OS X에서 Android NDK를 다운로드하여 간단한 ELF 바이너리를 오류 없이 컴파일할 수 있었습니다.하지만 제가 전화기로 전송할 때는 항상 고장이 납니다.즉, GCC에서 -static으로 컴파일할 때 segfault가 발생합니다.제가 -static을 사용하지 않으면, 그들은 연결되지 않는다고 불평합니다.간단히 말해서, 그들은 작동하지 않습니다. 제 가설..

programing 2023.09.03

C에서 다른 과정을 어떻게 생성합니까?

C에서 다른 과정을 어떻게 생성합니까? 외부 프로그램을 실행하고 C를 사용하여 명령줄 매개 변수를 전달하는 방법은 무엇입니까?운영 체제 API를 사용해야 하는 경우 Windows, Mac 및 Linux용 솔루션을 포함합니다.이는 정확히 무엇을 하려는가에 따라 달라집니다. OS에 종속 당신이 무엇을 하려고 하는지 잘 모르겠습니다. 그럼에도 불구하고, 저는 당신이 결정할 수 있도록 몇 가지 정보를 제공하도록 노력하겠습니다. UNIX에서fork()사용자가 포크를 호출한 위치에서 프로세스의 복제본을 만듭니다. 다음과 과정을 , 과같과거정됩치니다면즉을은다음▁meaning:됩니다▁i,,즉▁if. #include #include int main() { printf( "hi 2 u\n" ); int mypid = fo..

programing 2023.08.19

scanf() 형식 문자열에서 후행 공백의 영향은 무엇입니까?

scanf() 형식 문자열에서 후행 공백의 영향은 무엇입니까? 사이에 무엇이 다릅니까?scanf("%d")그리고.scanf("%d ")이 코드에서 형식 문자열의 후행 공백은 어디에 있습니까? #include int main(void) { int i, j; printf("enter a value for j "); scanf("%d ",&j); printf("j is %d\n", j); printf("enter a value for i "); scanf("%d", &i); printf("i is %d\n", i); return 0; } ?scanf() 함는형지정뒤자에공백작추다와 같은 합니다.scanf("%d ", &j);?검색 형식의 공백 문자를 사용하면 최대한 많은 공백 문자를 명시적으로 읽고 무시할 수 ..

programing 2023.08.09

패딩 구조물을 확장할 때, 왜 여분의 필드를 테일 패딩에 배치할 수 없습니까?

패딩 구조물을 확장할 때, 왜 여분의 필드를 테일 패딩에 배치할 수 없습니까? 구조를 고려해 보겠습니다. struct S1 { int a; char b; }; struct S2 { struct S1 s; /* struct needed to make this compile as C without typedef */ char c; }; // For the C++ fans struct S3 : S1 { char c; }; S1의 사이즈는 8로 정렬로 인해 예상됩니다.하지만 S2와 S3의 사이즈는 12입니다.즉, 컴파일러는 다음과 같이 구성합니다. | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11| | a | b | padding | c | padding | 컴파일러는 정렬..

programing 2023.07.25

C의 이중 부정 : 0/1을 반환하는 것이 보장됩니까?

C의 이중 부정 : 0/1을 반환하는 것이 보장됩니까? 아이즈!!(x)0/1을 반환하도록 표준에 의해 보장됩니까? bool 유형이 정의된 c++에 대해 묻는 것이 아닙니다.예, C99에서 § 6.5.3.3/4를 참조하십시오. 논리적 음수 연산자 !의 결과는 피연산자 값이 0과 동일하면 0이고 피연산자 값이 0과 동일하면 1입니다.결과에 int 형식이 있습니다.식!E는 (0==E)와 같습니다. 그렇게!x그리고.!!y0 또는 1만 산출할 수 있습니다.ints. 다른 연산자의 경우 C99에서 >,

programing 2023.07.25

CMAKE_BUILD_TYPE= Release가 -DN DEBUG를 의미합니까?

CMAKE_BUILD_TYPE= Release가 -DN DEBUG를 의미합니까? 암시적으로 의미합니까? 그렇지 않은 경우: 이러한 영향이 발생할 것으로 예상하는 것이 합리적이지 않습니까? 다음 Cmake 코드가 내 Cmake Lists에서 중복되는지 알고 싶습니다.txt: if (NOT CMAKE_BUILD_TYPE MATCHES Debug) add_definitions(-DNDEBUG) endif() 네, Cmake에서 설정합니다.CMake 코드를 훑어보면 컴파일러 호스트에 대해 설정되어 있음을 알 수 있습니다.아마도 이 플래그를 허용하는 컴파일러에만 설정했을 것입니다.다음은 GCC와 관련된 항목 중 하나입니다. Modules/Compiler/GNU.cmake: set(CMAKE_${lang}_FLAG..

programing 2023.07.25

시스템() 명령이 완료될 때까지 기다리지 않는 방법이 있습니까?(c)

시스템() 명령이 완료될 때까지 기다리지 않는 방법이 있습니까?(c) 이 질문에는 이미 다음과 같은 답이 있습니다. 마감됨11년 전에. 다음과 유사: 시스템 호출 후 프로그램이 실행되지 않음 » 저는 C를 사용하는 것이 상당히 익숙하지 않지만 기본적으로 다음과 같은 라인을 실행하고 싶습니다. int a = system("python -m plotter"); 내가 개발한 파이썬 모듈을 실행할 것입니다.하지만 명령 실행이 끝날 때까지 기다리는 대신 나머지 c 프로그램이 계속 실행되기를 원합니다(파이썬 앱은 무한 루프에 있으므로 자동으로 닫히지 않습니다).C/C++을 사용하여 이것을 할 수 있는 방법이 있습니까? 업데이트: 솔루션: int a = system("start python -m plotter &")..

programing 2023.07.25

Win32-API에 사용자 지정 유형이 많은 이유는 무엇입니까?

Win32-API에 사용자 지정 유형이 많은 이유는 무엇입니까? 저는 Win32 API가 처음이라 많은 새로운 유형들이 저를 혼란스럽게 하기 시작했습니다. 일부 기능은 1-2가 소요됩니다.ints그리고 3UINTS의론으로서 왜 그들은 그냥 int를 사용할 수 없습니까?UINS란 무엇입니까? 다음과 같은 다른 유형이 있습니다. DWORD LPCWSTR LPBOOL 다시 한 번 말씀드리지만, "기본적인" C 유형으로 충분할 것 같습니다. 왜 100개의 새로운 유형을 도입해야 합니까? 이것은 고통이었습니다.WCHAR* 저는 그것을 반복해서 모든 문자를 std:: string으로 밀어넣어야 했습니다. 왜냐하면 그것을 하나로 변환할 다른 방법이 없었기 때문입니다.끔찍해요. 왜죠WCHAR왜 바퀴를 재창조해야 합니까..

programing 2023.07.20

라즈베리 파이에서 운영체제 없이 C 프로그램을 실행하는 방법은 무엇입니까?

라즈베리 파이에서 운영체제 없이 C 프로그램을 실행하는 방법은 무엇입니까? 저는 다른 로우 레벨 임베디드 애플리케이션을 위해 라즈베리 파이를 사용하는 실험을 하고 싶습니다.유일한 문제는 사용 가능한 AVR 및 PIC 마이크로컨트롤러 보드와 달리 라즈베리 파이는 일반적으로 실행 중인 모든 프로그램에 CPU 시간을 분산시키는 OS(Raspbian과 같은)를 실행하고 특정 실시간 애플리케이션에 대해 비실용적이라는 것입니다. 최근에 GRUB와 같은 부트로더가 설치되어 있다고 가정할 때 x86에서 C 프로그램을 실행하는 것은 (커널 형태로) 주 기능과 실제 C 코드를 호출하는 어셈블리 프로그램에 불과하여 실제 설정이 거의 필요하지 않다는 것을 알게 되었습니다. 라즈베리 파이로 이것을 달성할 수 있는 방법이 있습니..

programing 2023.07.15
반응형