반응형

C 49

사용자의 선호도에 따라 필터링하는 wrapper printf 기능

사용자의 선호도에 따라 필터링하는 wrapper printf 기능 내 프로그램은 로그와 stdout에 씁니다.그러나 모든 메시지에는 특정 우선 순위가 있으며 사용자는 기본 설정에서 어떤 우선 순위가 어떤 스트림(log 또는 stdout)으로 이동할지를 지정합니다. unsigned short PRIO_HIGH = 0x0001; unsigned short PRIO_NORMAL = 0x0002; unsigned short PRIO_LOW = 0x0004; 기본 설정은 일부 플래그로 처리됩니다. unsigned short PRIO_LOG = (PRIO_HIGH | PRIO_NORMAL); unsigned short PRIO_STD = (PRIO_HIGH); 그write_logfunction은 printf fun..

source 2023.10.04

type constchar* 인수가 type "LPCWSTR" 매개 변수와 호환되지 않습니다.

type constchar* 인수가 type "LPCWSTR" 매개 변수와 호환되지 않습니다. Visual Studio 2012의 C에서 간단한 메시지 상자를 만들려고 하는데 다음과 같은 오류 메시지가 나타납니다. argument of type const char* is incompatible with parameter of type "LPCWSTR" err LNK2019:unresolved external symbol_main referenced in function_tmainCRTStartup 여기 소스코드가 있습니다. #include int _stdcall WinMain(HINSTANCE hinstance,HINSTANCE hPrevinstance,LPSTR lpszCmdline,int nCmdSh..

source 2023.10.04

"제어가 비공수 기능의 끝에 도달한다"는 것은 무엇을 의미합니까?

"제어가 비공수 기능의 끝에 도달한다"는 것은 무엇을 의미합니까? 이 이진 검색 알고리즘에서 이상한 컴파일러 오류가 계속 발생하고 있습니다.나는 경고를 받습니다.control reaches end of non-void function.이것은 무엇을 의미합니까? int binary(int val, int sorted[], int low, int high) { int mid = (low+high)/2; if(high sorted[mid]) return binary(val, sorted, mid+1, high); else if(val == so..

source 2023.10.04

Ansi-C의 한 줄 코멘트

Ansi-C의 한 줄 코멘트 익숙합니다.//Java 및 Visual Studio의 한 줄 코멘트를 표시하고 Ansi-C에 대해 이것이 존재하지 않는다는 것에 놀랐습니다.사용./* my comment */정말 짜증나요.Ansi-C를 사용할 때 한 줄 코멘트를 표시하는 다른 방법이 있습니까?ANSI-C, 아니요, 하지만 현재의 표준 개정은 그것들을 허용하고 있고, C99 이후로 그렇게 해오고 있습니다.매크로를 작성할 수도 있습니다. #define COMMENT(x) int main() { COMMENT(Hi there) return 0; } ANSIC에서 명백한 것이 없는 것을 제외하고는 - 당신이 지적한 것은 맞습니다./* */ANSIC 89에서 스타일이 올바르지 않습니다.음... ANSI C는 C99이고..

source 2023.10.04

Eclipse CDT "Symbol NULL을 확인할 수 없습니다."

Eclipse CDT "Symbol NULL을 확인할 수 없습니다." 했습니다를 했습니다.Eclipse CDT와 함께MinGW 모든 환경변수는 설정, 포함 등입니다.헬로 월드를 운영해봤는데 다 괜찮은 것 같아요. 는 했습니다.C에 내 이 잘 과 같은 NULL호: Symbol 'NULL' could not be resolved 통찰력이 있습니까?감사합니다!NULL은 일반적으로 stddef.h에 정의됩니다.이 파일은 일반적으로 stdlib.h 및 stdio.h에도 포함됩니다. 그리고 당신은 항상 이렇게 할 수 있습니다. #ifndef NULL #define NULL ((void *) 0) #endif 밥이 언급한 것처럼, 인덱스를 재구축하는 것만으로 버그를 수정합니다. 프로젝트를 바로 잡습니다. 색인 선택 ..

source 2023.09.24

!! c 연산자, 2개면 안되나요?

!! c 연산자, 2개면 안되나요? 나는 이 코드를 읽고 이 줄을 가지고 있습니다. switch (!!up + !!left) { 뭐가!!연산자 ? 두개의 논리적이 아닌 ?네, 두 개입니다. !!a가1한다면a0이 아닙니다.0한다면a가0 생각할 수 있습니다.!!사실은, 에 대한 클램핑.{0,1}. 저는 개인적으로 그 사용법이 화려해 보이는 것은 좋지 않은 시도라고 생각합니다.이렇게 상상할 수 있습니다. !(!(a)) 차근차근 하면 이게 말이 돼요. result = !42; //Result = 0 result = !(!42) //Result = 1 because !0 = 1 이것은 돌아올 것입니다.1임의의 숫자(-42, 4.2f 등)를 사용하지만, 사용하는 경우만 해당됩니다.0, 이렇게 될 것입니다. resu..

source 2023.09.24

윈도우리스 오픈GL

윈도우리스 오픈GL 윈도우리스 OpenGL 컨텍스트를 갖고 싶습니다(Xorg와 윈도우가 있는 GNU/리눅스 모두에서).합니다 만 호출할 glGetString,glCompileShader그와 비슷한. 저는 고글링을 좀 해봤지만, 숨겨진 창을 만드는 것 외에는 유용한 것을 생각해내지 못했습니다. 그것은 저에게 해킹처럼 보이는 것입니다. 그렇다면 (어떤 플랫폼이든) 더 나은 아이디어를 가진 사람이 있습니까? 편집: Xorg를 사용하여 OpenGL 컨텍스트를 생성하고 루트 창에 첨부할 수 있었습니다. #include #include #include #include #include #include int main(int argc, const char* argv[]){ Display *dpy; Window root..

source 2023.09.24

"!!"가 포함된 문자열을 전달할 때 argv의 이상한 동작!"

"!!"가 포함된 문자열을 전달할 때 argv의 이상한 동작!" 나는 몇가지 입력 파라미터를 사용하는 작은 프로그램을 작성했습니다.*argv[]인쇄합니다.거의 모든 사용 사례에서 내 코드는 완벽하게 잘 작동합니다.문자열 끝에 하나 이상의 느낌표를 사용할 때만 문제가 발생합니다. 인수로 전달하고자 하는... 작동 내용: ./program -m "Hello, world!" 이것은 작동하지 않습니다. ./program -m "Hello, world!!!!" ^^ 이렇게 하면 프로그램 출력이 문자열의 두 배가 되거나 이전에 ./program에 입력한 명령어가 됩니다. 하지만 제가 전혀 이해할 수 없는 것은:이상하게도 다음이 효과가 있습니다. ./program -m 'Hello, world!!!!' ^^ 출력은 ..

source 2023.09.24

창이 없는 응용프로그램 만들기

창이 없는 응용프로그램 만들기 창이나 콘솔을 열지 않고 실행할 수 있는 C/C++ 애플리케이션을 어떻게 프로그래밍하시겠습니까?WinMain 프로그램을 작성할 때 컴파일러의 window가 되는 /SUBsystem 옵션이 자동으로 표시됩니다(Visual Studio를 사용한다고 가정).다른 컴파일러의 경우에도 비슷한 옵션이 있지만 플래그 이름은 다를 수 있습니다. 그러면 컴파일러가 실행 파일을 윈도우즈 실행 파일로 표시하는 실행 파일 형식(PE 형식)의 항목을 만듭니다. 이 정보가 실행 파일에 있으면 프로그램을 시작하는 시스템 로더는 바이너리를 콘솔 프로그램이 아닌 윈도우 실행 파일로 취급하므로 실행 시 콘솔 창이 자동으로 열리지 않습니다. 그러나 작업 표시줄에서 실행 중인 모든 프로그램 및 서비스와 마찬가..

source 2023.09.24
반응형