C 36

Apple M1에서 march= native가 작동하지 않는 이유는 무엇입니까?

Apple M1에서 march= native가 작동하지 않는 이유는 무엇입니까? C++ 프로그램을 컴파일하려고 할 때마다march=nativeM1 칩이 탑재된 맥북에서 clang을 사용할 때 다음과 같은 오류가 발생합니다. clang: error: the clang compiler does not support '-march=native' 그런데 예전에는 인텔 CPU를 탑재한 구형 맥북에서 작동했습니다. clan은 이 아키텍처를 지원하지 않습니까? clang --version다음을 제공: Apple clang version 12.0.0 (clang-1200.0.32.29) Target: arm64-apple-darwin20.2.0 Apple clang 버전 13.0.0에서는-mcpu=apple-m1를 사..

programing 2023.10.11

max(a,b)는 stdlib.h에 정의되어 있습니까?

max(a,b)는 stdlib.h에 정의되어 있습니까? 저는 두 대의 컴퓨터를 사용하고 있는데, 각각 다른 버전의 비주얼 스튜디오가 있습니다.비주얼 스튜디오 2008 컴퓨터에서 나의 코드는 컴파일됩니다. 2010 2010다를하기 때문에 max(a,b)제가 알기로는 stdlib.h에 정의되어 있습니다.다를 할 수 .max(a,b)2008년 컴퓨터에서 재정의될 것이기 때문입니다.하지만 내가 정의하지 않는다면,max(a,b)제 코드는 비주얼 2010 컴퓨터에서 컴파일되지 않습니다. 해결책이 있습니까?의 C라는 의 C max그것의 표준 헤더는 상상을 초월할 정도로 깨져 있습니다.해야 할 수 있는 다입니다.#undef max시스템 헤더를 포함한 후 그리고 자신의 헤더/코드 앞에 (그리고 이 매크로가 정의하는 다른..

programing 2023.10.11

왜 wprintf는 리눅스에서 유니코드의 러시아어 텍스트를 라틴어로 번역합니까?

왜 wprintf는 리눅스에서 유니코드의 러시아어 텍스트를 라틴어로 번역합니까? 왜 다음 프로그램이 #include #include int main() { wprintf(L"Привет, мир!"); } 리눅스에서 "Privet, mir!"를 인쇄할 수 있습니까?특히 UTF-8로 변환하거나 대체 문자를 사용하는 것이 아니라 유니코드의 러시아어 텍스트를 라틴어로 변환하는 이유는 무엇입니까? Godbolt에서의 이러한 행동 시연 : https://godbolt.org/z/36zEcG 비와이드 버전printf("Привет, мир!")예상대로 이 텍스트를 인쇄합니다("п ривет, мир!").현재 설정된 로케일에 따라 와이드 문자 변환이 이루어지기 때문입니다.기본적으로 C 프로그램은 항상 ASCII 문..

programing 2023.10.06

C/C++의 통사당

C/C++의 통사당 저는 루비를 조사해 보았는데 "까지"와 "그렇지 않으면"이라는 키워드가 매우 흥미롭다는 것을 알게 되었습니다.그래서 비슷한 키워드를 C/C++에 추가할 수 있는 좋은 방법이 무엇일까 생각했습니다.이것이 제가 생각해낸 것입니다. #define until(x) while(!(x)) #define unless(x) if(!(x)) 저는 이에 대한 몇 가지 제안을 찾고 있습니다.더 나은 대안을 제안해 줄 수 있는 사람? 다음은 제가 의도한 바를 설명하기 위해 작성한 프로그램의 예입니다. #include #include #define until(x) while(!(x)) #define unless(x) if(!(x)) unsigned int factorial(unsigned int n) { u..

programing 2023.10.06

Cython을 Python to C Converter로 사용

Cython을 Python to C Converter로 사용 저는 거대한 파이썬 모듈(+8000 라인)을 가지고 있습니다.이들은 기본적으로 하드웨어 레지스터를 읽고 쓰는 방식으로 직렬 포트를 통해 하드웨어 플랫폼과 상호 작용하기 위한 수많은 기능을 가지고 있습니다. 수치 알고리즘이 아닙니다.따라서 애플리케이션은 하드웨어 레지스터/메모리에 읽기/쓰기에 불과합니다.저는 이 라이브러리를 사용하여 사용자 지정 스크립트를 작성합니다.결국 하드웨어에 내장된 프로세서에서 실행되도록 이 모든 것들을 옮겨야 더 세밀하게 제어할 수 있습니다. 그런 다음 PC에서 이벤트를 시작하고 나머지는 하드웨어에서 실행됩니다. 그래서 나는 그것들을 C로 변환해야 합니다.자동 도구로 스크립트를 C로 변환할 수 있다면 시간을 많이 절약할 ..

programing 2023.10.06

함수 포인터가 명령 파이프라인을 삭제하도록 강제합니까?

함수 포인터가 명령 파이프라인을 삭제하도록 강제합니까? 현대의 CPU들은 광범위한 파이프라인을 가지고 있는데, 즉 실제로 명령을 실행하기 훨씬 전에 필요한 명령과 데이터를 로드하는 것입니다. 파이프라인에 로드된 데이터가 무효화되는 경우가 있으며 파이프라인을 지우고 새 데이터로 다시 로드해야 합니다.파이프라인을 다시 채우는 데 걸리는 시간이 상당하여 성능 저하를 초래할 수 있습니다. C에서 함수 포인터를 호출하면 파이프라인의 포인터가 함수 포인터이며 다음 명령을 위해 해당 포인터를 따라야 한다는 것을 깨달을 수 있을 정도로 파이프라인이 똑똑합니까?아니면 기능 포인터가 있으면 파이프라인이 지워지고 성능이 저하됩니까? 저는 C에서 일하고 있지만, 많은 기능 호출이 v-table을 통해 이루어지는 C++에서는 ..

programing 2023.10.06

C 코드에서 ALSA 마스터 볼륨 설정

C 코드에서 ALSA 마스터 볼륨 설정 ALSA 믹서의 마스터 볼륨을 설정하기 위한 간단한 C 코드 예제를 찾았지만, 이 일반적인 작업을 위한 간단한 것을 찾을 수 없었습니다. 저는 ALSA에 완전히 익숙하지 않기 때문에, 저만의 최소한의 예를 만드는 데 시간이 걸릴 것입니다.누군가가 제공해 준다면 저는 행복할 것입니다.저는 다음과 같습니다.파라미터 볼륨은 [0, 100] 범위 내에서 제공됩니다.조심하세요, 취급 오류가 없습니다! void SetAlsaMasterVolume(long volume) { long min, max; snd_mixer_t *handle; snd_mixer_selem_id_t *sid; const char *card = "default"; const char *selem_name..

programing 2023.10.01

텍스트 파일에서 C의 배열로 숫자 읽기

텍스트 파일에서 C의 배열로 숫자 읽기 저는 프로그래밍 초보니까 조금만 참아주세요. 텍스트 파일에서 배열로 숫자를 읽으려고 합니다.텍스트 파일인 "some numbers.txt"는 단순히 "5623125698541159"와 같이 16개의 숫자를 저장합니다. #include main() { FILE *myFile; myFile = fopen("somenumbers.txt", "r"); //read file into array int numberArray[16]; int i; for (i = 0; i < 16; i++) { fscanf(myFile, "%d", &numberArray[i]); } for (i = 0; i < 16; i++) { printf("Number is: %d\n\n", numberAr..

programing 2023.10.01

비트맵 파일을 구조물로 읽기

비트맵 파일을 구조물로 읽기 비트맵 파일을 구조물로 읽고 예를 들어 미러 효과를 만드는 것처럼 조작하고 싶지만 어떤 구조물을 만들어야 하는지 이해할 수 없습니다. 도와주셔서 고맙습니다.»이렇게 수동으로 가 로드됩니다.BMP파일 비트맵 파일 형식: 비트맵 파일 헤더 비트맵 정보 헤더 팔레트 데이터 비트맵 데이터 코드 부분을 계속.이것이 비트맵 파일 헤더를 유지하기 위해 우리가 만들어야 하는 구조입니다. #pragma pack(push, 1) typedef struct tagBITMAPFILEHEADER { WORD bfType; //specifies the file type DWORD bfSize; //specifies the size in bytes of the bitmap file WORD bfRese..

programing 2023.09.21

프로세스가 소유한 소켓을 결정하는 Linux API

프로세스가 소유한 소켓을 결정하는 Linux API 어떤 프로세스가 어떤 IP 소켓을 소유하고 있는지 알 수 있는 Linux 라이브러리가 있습니까?제 생각에 저는 그 프로그램과 같은 것을 찾고 있는 것 같습니다.lsof -i. 궁극적으로, 저는 다음과 같은 방법을 통해 본 패킷의 상관 관계를 파악하고자 합니다.libpcap공정에 적용할 수 있습니다. 업데이트: 몇 명의 사람들이 그들이 사용할 것을 제안했습니다./proc//net/tcp그리고.udp, 하지만 제 시스템에서는 모든 프로세스에 동일한 데이터가 표시되므로 도움이 되지 않습니다.예를 들어 /proc/*/fd에서 열린 fds를 먼저 살펴봐야 할 것 같습니다. 4 -> socket:[11147] 그런 다음 /proc/net/tcp(또는 /proc/n..

programing 2023.09.21