C 113

멀티 스레드 어플리케이션에서 errno를 안전하게 사용할 수 있는 방법이 있습니까?

멀티 스레드 어플리케이션에서 errno를 안전하게 사용할 수 있는 방법이 있습니까? 이 질문에는 이미 다음과 같은 답변이 있습니다. 오류는 안전한가요? (8개 답변) 닫힘4년 전에. 오류 유형을 나타내는 오류를 사용하는 시스템/라이브러리 호출을 사용하는 다중 스레드 응용 프로그램을 작성하는 경우, 오류를 안전하게 사용할 수 있는 방법이 있습니까?그렇지 않은 경우 오류가 발생한 것이 아니라 발생한 오류의 유형을 표시할 수 있는 다른 방법이 있습니까?만약 당신의 표준 라이브러리가 멀티스레드를 인식한다면, 그것은 아마도#define변하는 것errno스레드-로컬 오류 반환 값을 반환하는 함수 호출로 이동합니다.그러나 이를 사용하려면 일반적으로 다음을 포함해야 합니다., 의지하기 보다는extern선언. 바로 이 ..

programing 2023.10.12

Swift 컴파일러 오류: 'Double'을(를) CGFloat으로 변환할 수 없습니다.

Swift 컴파일러 오류: 'Double'을(를) CGFloat으로 변환할 수 없습니다. 이제 막 스위프트를 배우기 시작했습니다.게임 프로젝트를 만들었는데 템플릿이 떴습니다.저는 코드에 아무런 조치도 취하지 않았습니다.프로젝트를 실행하려고 했는데 컴파일러 오류가 발생했습니다. 자습서를 작성하려고 하는데 환경에 문제가 있거나 책이 이미 구식일 수도 있습니다. Swift 컴파일러 오류: 'Double'을(를) CGFloat으로 변환할 수 없습니다. import SpriteKit class GameScene: SKScene { override func didMoveToView(view: SKView) { /* Setup your scene here */ let myLabel = SKLabelNode(fontN..

programing 2023.10.12

포인터가 가리키는 문자열 크기 찾기

포인터가 가리키는 문자열 크기 찾기 #include int main () { char *ptr = "stackoverflow" } ptr의 크기가 항상 4를 주는데 ptr이 가리키는 스택 오버플로우의 길이를 찾을 수 있는 방법이 있습니까?strlen을 사용하여 문자열의 길이(문자 수)를 찾습니다. const char *ptr = "stackoverflow"; size_t length = strlen(ptr); 또 하나의 사소한 점, 주목할 점은ptr는 문자열 리터럴(수정할 수 없는 const memory에 대한 포인터)입니다.이것을 보여주는 것을 상수로 선언하는 것이 더 좋은 연습입니다. sizeof()유형에 필요한 크기를 반환합니다.이 경우 크기로 전달하는 유형은 포인터이므로 포인터의 크기를 반환합니다..

programing 2023.10.12

C: 2차원 배열 크기

C: 2차원 배열 크기 2차원 배열의 행과 열을 세는 데 도움이 필요합니다.열을 셀 수 없는 것 같은데요? #include int main() { char result[10][7] = { {'1','X','2','X','2','1','1'}, {'X','1','1','2','2','1','1'}, {'X','1','1','2','2','1','1'}, {'1','X','2','X','2','2','2'}, {'1','X','1','X','1','X','2'}, {'1','X','2','X','2','1','1'}, {'1','X','2','2','1','X','1'}, {'1','X','2','X','2','1','X'}, {'1','1','1','X','2','2','1'}, {'1','X','2','..

programing 2023.10.07

프로젝트에서 위험을 고려할 때 -I 포함 스위치를 사용하는 이유는 무엇입니까?

프로젝트에서 위험을 고려할 때 -I 포함 스위치를 사용하는 이유는 무엇입니까? 의 중.-IGCC에서 전환하면 명령줄 오버라이드 시스템에서 이를 사용하는 것이 다음을 포함한다는 사실에 다소 충격을 받습니다.전처리기 문서에서 "사용할 수 있습니다.-I이 디렉토리들은 표준 시스템 헤더 파일 디렉토리보다 먼저 검색되기 때문에 자신의 버전을 대체하여 시스템 헤더 파일을 덮어씁니다." 그들은 거짓말을 하는 것 같지 않습니다. 두 다른 에서 GCC 7른 Ubuntu endian.h: #error "This endian.h shouldn't be included" 에 ...을.그리고 같은 디렉토리에 A를 생성합니다.main.cpp는 main.c,이): #include int main() {} 그다음에 다음과 같이 컴파..

programing 2023.10.07

포인터를 argv로 포인터 표시

포인터를 argv로 포인터 표시 제가 이해한 바로는 포인터에서 포인터로 문자 배열을 가리켜서 % ./pointer one two argv +----+ +----+ | . | ---> | . | ---> "./pointer\0" +----+ +----+ | . | ---> "one\0" +----+ | . | ---> "two\0" +----+ 코드에서: int main(int argc, char **argv) { printf("Value of argv[1]: %s", argv[1]); } 제 질문은 argv[1]이(가) 허용되는 이유는 무엇입니까?왜 (*argv)[1]과 같은 것이 아닌가요? 이해하는 단계: argv를 가져가서, 참조를 취소합니다. 포인터 배열의 주소를 문자로 반환해야 합니다. 포인터 산..

programing 2023.10.02

약한 심볼을 덮어쓰기 위해 정적 라이브러리에서 gcc 링크 강한 심볼을 만드는 방법?

약한 심볼을 덮어쓰기 위해 정적 라이브러리에서 gcc 링크 강한 심볼을 만드는 방법? 내 문제는 다음과 같이 요약할 수 있습니다. bar.c: #include void bar() { printf("bar\n"); } main.c: #include void __attribute__((weak)) bar() { printf("foo\n"); } int main() { bar(); return 0; } 파일 만들기: all: gcc -c bar.c ar -rc libbar.a bar.o gcc main.c -L. -lbar 출력: $ ./a.out foo 따라서 main.c의 weak symbol bar는 정적 라이브러리 libbar.a의 main.c에 연결되어 있기 때문에 bar.c의 weak symbol ..

programing 2023.10.02

OpenCV를 이용하여 캠 스캐너와 같은 매직 컬러 효과를 얻는 방법

OpenCV를 이용하여 캠 스캐너와 같은 매직 컬러 효과를 얻는 방법 이게 원래 이미지입니다. 캠 스캐너 매직 컬러 효과. 이미지에 대한 내 필터. 이미지의 콘트라스트를 변경하고 있습니다. dst.convertTo(dst, -1, 2, 0); 그런 다음 Gaussian 블러를 사용하여 스무딩을 합니다. cv::GaussianBlur(dst,result,cv::Size(0,0),3); cv::addWeighted(dst, 1.5, result, -0.5, 0, result); 제 이미지에 그런 영향을 미치려면 어떻게 해야 할까요? 갱신하다 히스토그램 등화 후 - vector channels; Mat img_hist_equalized; cvtColor(dst, img_hist_equalized, CV_BGR..

programing 2023.09.27

PHP와 C의 가변 스코프 차이: 블록 스코프가 완전히 같지는 않습니까?

PHP와 C의 가변 스코프 차이: 블록 스코프가 완전히 같지는 않습니까? 다음 PHP 코드가 출력됩니다.3. function main() { if (1) { $i = 3; } echo $i; } main(); 그러나 다음의 C 코드는 컴파일 오류를 일으킬 것입니다. void main() { if (1) { int i = 3; } printf("%d", i); } 그럼 PHP의 변수는 블록 범위가 엄격하지 않은 건가요?PHP에서 내부 블록에 정의된 변수는 외부 블록에 사용할 수 있습니까?PHP는 다음과 같은 기능 범위 - 제어 구조만을 가지고 있습니다.if새로운 범위를 도입하지 마십시오.그러나 선언하지 않은 변수를 사용해도 상관이 없습니다.$i밖에서는 존재하지 않을 것입니다main()또는 if 진술이 실패..

programing 2023.09.27

If a global variable is initialized to 0, will it go to BSS?

If a global variable is initialized to 0, will it go to BSS? All the initialized global/static variables will go to initialized data section. All the uninitialized global/static variables will go to uninitialed data section(BSS). The variables in BSS will get a value 0 during program load time. 글로벌 변수가 명시적으로 0으로 초기화된 경우 (int myglobal = 0), 해당 변수는 어디에 저장됩니까?컴파일러는 그러한 변수를 자유롭게 넣을 수 있습니다.bss로 뿐만 아니..

programing 2023.09.27