c 56

뮤텍스 잠금 스레드

뮤텍스 잠금 스레드 멀티 스레드/프로세스 프로그래밍을 처음 사용합니다.그래서 여기 제가 분명히 해야 할 것이 있습니다. 프로세스 A 코드 pthread_mutex_lock() pthread_create(fooAPI(sharedResource)) //fooAPI creates another thread with shared resource that shares across processes. pthread_mutex_unlock() 위의 의사 코드를 사용하여 프로세스 B가 액세스할 수 있습니까?sharedResource뮤텍스가 잠금 해제되지 않은 경우? 프로세스 B에서 공유 리소스에 올바르게 액세스하려면 어떻게 해야 합니까? 뮤텍스, 스레드 및 프로세스 간의 관계를 설명하는 명확한 시각적 다이어그램이 있습..

programing 2023.07.26

OOP 및 C의 인터페이스

OOP 및 C의 인터페이스 나는 ANSIC가 객체 지향 프로그래밍 언어가 아니라는 것을 이해합니다.저는 c를 사용하여 특정 oo 기술을 적용하는 방법을 배우고 싶습니다. 예를 들어, 모든 기능 이름이 같지만 해당 기능의 구현이 다른 여러 오디오 효과 클래스를 만들고 싶습니다. 만약 내가 이것을 더 높은 수준의 언어로 만들고 있다면, 나는 먼저 인터페이스를 작성한 다음 그것을 구현할 것입니다. AudioEffectInterface -(float) processEffect DelayClass -(float) processEffect { // do delay code return result } FlangerClass -(float) processEffect { // do flanger code return ..

programing 2023.07.16

최신 버전의 gcc에서 c11을 활성화하는 방법은 무엇입니까?

최신 버전의 gcc에서 c11을 활성화하는 방법은 무엇입니까? 현재 사용 중입니다.gcc 4.6.3제가 아는 바로는gcc기본적으로 다음을 사용합니다.gnu89표준 및 최신 C 표준인 C11을 활성화하고 싶습니다.노력했습니다. [pauldb@pauldb-laptop test ]$ gcc -std=c11 -o test test.c cc1: error: unrecognised command line option ‘-std=c11’ 교체했습니다c11와 함께gnu11저도 같은 오류가 발생합니다.gcc에 대한 최신 C 표준을 활성화하는 올바른 방법은 무엇입니까? (참고: 저는 최신 C++ 표준이 아닌 최신 C 표준에 관심이 있습니다.)올바른 옵션은 다음과 같습니다.-std=c11. 그러나 에서 사용할 수 없습니다...

programing 2023.07.01

2D 배열 값 C++

2D 배열 값 C++ for 루프를 실행하지 않고 2D 어레이를 선언하고 값을 할당하고 싶었습니다. 저는 다음과 같은 아이디어를 사용할 수 있다고 생각했습니다. int array[5] = {1,2,3,4,5}; 2D 어레이를 초기화하는 데도 잘 작동합니다.하지만 분명히 내 컴파일러는 이것을 좋아하지 않습니다. /* 1 8 12 20 25 5 9 13 24 26 */ #include int main() { int arr[2][5] = {0}; // This actually initializes everything to 0. arr [1] [] = {1,8,12,20,25}; // Line 11 arr [2] [] = {5,9,13,24,26}; return 0; } J:\CPP\Grid>bcc32.exe ..

programing 2023.06.26

C/C++ 애플리케이션의 메모리 누수를 감지하기 위해 Mac OS X Mountain Lion 및 Mavericks에서 Valgrind를 대체할 방법이 있습니까?

C/C++ 애플리케이션의 메모리 누수를 감지하기 위해 Mac OS X Mountain Lion 및 Mavericks에서 Valgrind를 대체할 방법이 있습니까? 닫혔습니다. 이 질문은 충족되지 않습니다.스택 오버플로 지침입니다.현재 답변을 수락하고 있지 않습니다. 도구, 라이브러리 또는 즐겨찾는 오프사이트 리소스를 추천하거나 찾는 질문은 의견이 많은 답변과 스팸을 유인하는 경향이 있기 때문에 스택 오버플로의 주제에서 벗어나 있습니다.대신 문제를 설명하고 문제를 해결하기 위해 지금까지 수행된 작업을 설명합니다. 9년 전에 문을 닫았습니다. 이 질문을 개선합니다. 이전에는 Mac OS X 10.6(Snow Leopard) 및 10.7(Lion)에서 C/C++ 애플리케이션의 메모리 누수를 감지했지만 OS를 ..

programing 2023.06.26

다른 공간에서 이름이 같은 변수 사용

다른 공간에서 이름이 같은 변수 사용 이 코드는 컴파일되지만 Visual Studio에 런타임 오류가 있습니다. 런타임 점검 실패 #3 - 변수 'x'가 초기화되지 않고 사용되고 있습니다... int x = 15; int main() { int x = x; return 0; } 그런 행동을 이해할 수가 없어요오류 상자에서 계속을 클릭하면 프로그램이 다시 시작되고 x에 손상된 내용이 있습니다(예:-8556328대신에15). 왜 이 코드는 문제 없이 작동하고 int 배열은 잘 선언되었습니까? const int x = 5; int main() { int x[x] = {1,2,3,4}; return 0; } x의 왼쪽에 정의됩니다.=. 그래서x[x],[x]세계적인 것을 참조하십시오. 반면에x = x;,x세계를 ..

programing 2023.06.21

gcc의 on-function-section 및 -f 데이터-section 옵션 쿼리

gcc의 on-function-section 및 -f 데이터-section 옵션 쿼리 아래는 기능 섹션 및 데이터 섹션 옵션에 대한 GCC 페이지에 나와 있습니다. -ffunction-sections -fdata-sections 대상이 임의 섹션을 지원하는 경우 각 함수 또는 데이터 항목을 출력 파일의 해당 섹션에 배치합니다.함수의 이름 또는 데이터 항목의 이름에 따라 출력 파일의 섹션 이름이 결정됩니다.링커가 최적화를 수행하여 명령 공간의 참조 위치를 개선할 수 있는 시스템에서 이 옵션을 사용합니다.ELF 개체 형식을 사용하는 대부분의 시스템과 Solaris 2를 실행하는 SPARC 프로세서에는 이러한 최적화 기능이 있는 링커가 있습니다. AIX는 향후 이러한 최적화 기능이 있을 수 있습니다. 이러한 ..

programing 2023.06.11

c/c++ 프로그램에서 가능한/잠재적인 스택 오버플로 문제를 감지하는 방법은 무엇입니까?

c/c++ 프로그램에서 가능한/잠재적인 스택 오버플로 문제를 감지하는 방법은 무엇입니까? 앱에 스택 공간이 얼마나 있는지, 실행 중 스택 사용량의 최고 워터마크가 얼마인지를 확인할 수 있는 표준 방법이 있습니까? 또한 실제 오버플로의 무서운 경우에는 어떻게 됩니까? 충돌, 예외 또는 신호를 트리거합니까?모든 시스템과 컴파일러에 표준이 있습니까? 특히 Windows, Linux 및 Macintosh를 찾고 있습니다. Windows에서는 스택 오버플로 예외가 생성됩니다. 이를 보여주는 윈도우 코드는 다음과 같습니다. #include #include void StackOverFlow() { CONTEXT context; // we are interested control registers context.Con..

programing 2023.06.11

공유 메모리 할당

공유 메모리 할당 상수 매개 변수를 사용하여 공유 메모리를 할당하려고 하는데 오류가 발생했습니다. 커널은 다음과 같습니다. __global__ void Kernel(const int count) { __shared__ int a[count]; } 그리고 다음과 같은 오류가 발생합니다. 오류: 식의 값은 상수여야 합니다. 카운트는 상수입니다!이 오류가 발생하는 이유는 무엇입니까?어떻게 하면 이 상황을 피할 수 있을까요?CUDA는 동적 공유 메모리 할당을 지원합니다.커널을 다음과 같이 정의하는 경우: __global__ void Kernel(const int count) { extern __shared__ int a[]; } 그런 다음 커널 실행의 세 번째 인수로 필요한 바이트 수를 전달합니다. Kernel..

programing 2023.06.06