반응형

c 26

가져오기 오류: 동적 모듈이 init 함수를 정의하지 않습니다(initfizzbuzz).

가져오기 오류: 동적 모듈이 init 함수를 정의하지 않습니다(initfizzbuzz). 나는 컴파일을 시도했습니다.fizzbuzz.c파이썬으로 가져오기 위해.건축용fizzbuzz.c,사용했습니다python setup.py build_ext -i. 그것을 만든 후에, 나는 수입하려고 했습니다.fizzbuzz.c하지만 아래 오류가 발생했습니다.어떻게 하면 이 문제를 해결할 수 있을까요? 오류 >>> import fizzbuzz Traceback (most recent call last): File "", line 1, in ImportError: dynamic module does not define init function (initfizzbuzz) fizzbuzz.c #include void fizzb..

programing 2023.07.08

메모리 대역폭이 병목 현상이 되었는지 확인하는 방법은 무엇입니까?

메모리 대역폭이 병목 현상이 되었는지 확인하는 방법은 무엇입니까? 저는 매우 동시적인 C 프로그램을 진행하고 있는데, 코어 수가 8개 미만일 때는 잘 확장되지만, 8개 이상의 코어 확장은 거부합니다. 메모리 대역폭이 병목 현상인 것 같은데, 사실인지 확인하려면 어떻게 해야 합니까? 진단에 도움이 될 수 있는 도구/기술/OS 기능이 있습니까?NUMA 96x8 코어 시스템에서 이 문제가 발생한 적이 있습니다. 문제의 90%는 메모리/캐시 동기화에 있습니다.동기화 루틴(아토믹, 뮤텍스)을 자주 호출하는 경우 모든 소켓에서 적절한 캐시 라인을 비활성화해야 하므로 전체 메모리 버스가 여러 사이클 동안 완전히 잠깁니다. Intel VTune 또는 Perfuite와 같은 프로파일러를 실행하여 프로파일링하고 원자력에 ..

programing 2023.07.03

GCC 어셈블러 출력 읽기

GCC 어셈블러 출력 읽기 저는 조립에 대한 아주 초보적인 이해를 얻는 것을 고려하고 있습니다.저의 현재 목표는 간단합니다. x86/x86-64용 -S 스위치로 C/C++을 컴파일할 때 GCC 어셈블리 출력에 대한 매우 기본적인 이해입니다. 단 하나의 기능을 보고 GCC가 제가 사라질 것으로 예상되는 것들을 최적화하는지 확인하는 것과 같은 간단한 일을 할 수 있을 정도입니다. GCC와 관련된, 특히 읽기 목적의 어셈블리에 대한 진정으로 간결한 소개와 어셈블리를 일상적으로 읽는 사람이 알아야 할 가장 중요한 지침 목록을 가지고 있거나 알고 있는 사람이 있습니까?GCC를 사용해야 합니다.-fverbose-asm선택.컴파일러가 원래 C/C++ 코드에 대한 어셈블리 코드의 관계를 더 쉽게 이해할 수 있도록 추가..

programing 2023.07.03

*.so 파일에서 기능하도록 기능 주소를 매핑하는 방법

*.so 파일에서 기능하도록 기능 주소를 매핑하는 방법 역추적 함수는 역추적 집합을 제공합니다. 함수 이름/파일 이름/라인 번호로 매핑하는 방법은 무엇입니까? for ex:- backtrace() returned 8 addresses ./libtst.so(myfunc5+0x2b) [0xb7767767] ./libtst.so(fun4+0x4a) [0xb7767831] ./libtst.so(fun3+0x48) [0xb776787f] ./libtst.so(fun2+0x35) [0xb77678ba] ./libtst.so(fun1+0x35) [0xb77678f5] ./a.out() [0x80485b9] /lib/libc.so.6(__libc_start_main+0xe5) [0xb75e9be5] ./a.out() ..

programing 2023.06.18

GPU에서 통계 애플리케이션의 이 코드를 실행할 수 있습니까?

GPU에서 통계 애플리케이션의 이 코드를 실행할 수 있습니까? 저는 배열에 약 1천만에서 3천만 개의 부동소수점 값을 포함하는 통계 애플리케이션을 연구하고 있습니다. 중첩 루프에서 배열에 대해 서로 다르지만 독립적인 계산을 수행하는 몇 가지 방법, 예: Dictionary noOfNumbers = new Dictionary(); for (float x = 0f; x < 100f; x += 0.0001f) { int noOfOccurrences = 0; foreach (float y in largeFloatingPointArray) { if (x == y) { noOfOccurrences++; } } noOfNumbers.Add(x, noOfOccurrences); } 현재 응용 프로그램은 C#으로 작성되..

programing 2023.06.13

문자 배열의 null 종료

문자 배열의 null 종료 다음과 같은 경우를 고려합니다. #include int main() { char A[5]; scanf("%s",A); printf("%s",A); } 내 질문은 만약 char.A[5]두 개의 문자만 포함합니다.을 "ab" 말라고하면이,말하면고,A[0]='a',A[1]='b'그리고.A[2]='\0'이 "라고 말한다면, "abcde"입니까?'\0'그런 경우에는할 것이다A[5]어있다를 '\0'만약 그렇다면, 왜? sizeof(A)항상 5를 답으로 반환합니다.그러면 어레이가 꽉 찼을 때 다음을 위해 예약된 추가 바이트가 있습니까?'\0' 쪽인가요?sizeof()계산이 안 되나요?네 개 이상의 문자를 입력하면 추가 문자와 null 종결자가 배열 끝 바깥에 쓰여 배열에 속하지 않는 메모리..

programing 2023.06.08
반응형