반응형

C 43

만약(x=0)이면 C에서 무엇을 의미합니까?

만약(x=0)이면 C에서 무엇을 의미합니까? 그래서 gcc/C에서 컴파일러는 다음과 같이 컴파일합니다. if ((x=0)){ some code } 가 사용되는 반면 if (x=0){ some code } 를 사용하면 컴파일러가 컴파일을 거부합니다. 둘의 차이점은 무엇입니까? 참고로, 나는 어떤 점이 다른지 압니다.x==0그리고.x=0. 나는 단지 C가 어떤 이상한 코드를 만났을 때 어떻게 행동하는지 탐구하고 있을 뿐입니다.코드별로 차이가 없습니다. 지금 일어나고 있는 모든 일은 그 말이x=0대신에x==0대부분의 컴파일러가 오류를 볼 때 경고(또는 오류)를 표시할 정도로 일반적인 오류입니다.괄호의 추가 집합은 컴파일러를 닫게 하는 일반적인 속임수입니다. 예, 저는 정말로 이것을 하려고 했습니다.라고 말하는..

programing 2023.11.04

C파일 정리

C파일 정리 나는 모든 코딩을 하나의 C 파일로 하는 것에 익숙합니다.하지만 그렇게 하기에는 현실성이 없을 정도로 큰 프로젝트를 진행하고 있습니다.저는 그 파일들을 함께 포함해서 #작업을 해왔지만 여러 번 파일들을 포함해서 #작업을 하는 경우 등을 겪었습니다..h 파일은 들어봤는데 기능이 뭔지 잘 모르겠어요.(아니면 파일이 2개인 이유가 1개인 것보다 더 나은 이유는 무엇인가요?) 코드를 정리하려면 어떤 전략을 사용해야 합니까?특정 파일에 대해 "공개" 기능과 "비공개" 기능을 분리할 수 있습니까? 이 질문이 나의 질문을 촉발시켰습니다.tea.h 파일은 tea.c 파일을 참조하지 않습니다.컴파일러는 모든 .h 파일에 해당하는 .c 파일이 있다는 것을 "알고" 있습니까?.h 파일을 .c 파일의 인터페이스 ..

programing 2023.11.04

gcc를 사용하여 c 프로그램을 컴파일할 때 충돌하는 유형 오류

gcc를 사용하여 c 프로그램을 컴파일할 때 충돌하는 유형 오류 gcc로 다음 프로그램을 컴파일하려고 했습니다. 0 #include 1 2 main () 3 4 { 5 char my_string[] = "hello there"; 6 7 my_print (my_string); 8 my_print2 (my_string); 9} 10 11 void my_print (char *string) 12 { 13 printf ("The string is %s\n", string); 14 } 15 16 void my_print2 (char *string) 17 { 18 char *string2; 19 int size, i; 20 21 size = strlen (string); 22 string2 = (char *) ma..

programing 2023.10.30

C에서 C# 호출

C에서 C# 호출 C 모듈에서 C# 모듈을 호출하는 작업을 한 사람이 있습니까?인터넷으로 검색해 보았지만 좋은 예시를 찾지 못했습니다.비록 많은 사이트들이 COM interop을 사용하는 것과 같은 것을 말하고 있지만, 그것을 설명하는 적절한 예나 기사를 찾을 수 없었습니다. 누군가 이 일을 도와준다면 정말 좋을 것 같습니다. 고마워, 스베랩C 또는 C++에서 관리 코드를 호출하려면 COM interop만이 아닙니다.다음과 같은 덜 알려진 방법도 있습니다(MSDN FAQ에서 가져온). a는 어떻게 부르죠?네이티브 Visual C++의 NET 어셈블리? 전화하는 방법은 기본적으로 네 가지가 있습니다.네이티브 VC++ 코드의 NET 어셈블리: CLR Hosting API: 네이티브 VC++ 모듈이 CLR H..

programing 2023.10.30

이진 모드에서 stdout을 쓰기 위한 가장 간단한 방법은 무엇입니까?

이진 모드에서 stdout을 쓰기 위한 가장 간단한 방법은 무엇입니까? 나는 C 프로그램에서 stdout을 위해 이진 데이터를 작성하는 가장 좋은 방법을 찾으려고 노력해왔습니다.Linux에서는 잘 작동하지만 Windows에서 컴파일할 때 "\n"이 "\r\n"으로 변환되므로 문제가 발생합니다. 새 줄 변환을 피하는 일종의 이진 모드에서 stdout을 쓰기 위한 표준 방법이 있습니까?그렇지 않다면 Windows에서 이 작업을 중지하는 가장 간단한 방법은 무엇입니까? 저는 GCC와 MinGW를 사용하고 있고, 글을 쓰고 있습니다.stdout사용.fwrite.사용가능setmode(fileno(stdout), O_BINARY) Linux와 호환되도록 하려면 ifdef로 포장합니다. 참고 항목: https://l..

programing 2023.10.25

CMake - 정적 라이브러리 작성

CMake - 정적 라이브러리 작성 내 프로젝트에 두개의 파일이 있습니다.Test4: Structure.h Structure.c 해당 파일을 사용하려는 다른 프로젝트에서 로드할 수 있는 정적 라이브러리를 만들고 싶습니다.현재 내 CMake 파일은 다음과 같습니다. cmake_minimum_required(VERSION 3.6) project(Test4) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(SOURCE_FILES Structure.c Structure.h) add_library(Test4 STATIC ${SOURCE_FILES}) 해당 CMake 파일을 사용하여 빌드하면 정적 라이브러리가 생성되지 않습니다.아무 일도 없습니다.내가 뭘 잘못하..

programing 2023.10.25

클랑이 더 많이 사용되지 않는 이유는 무엇입니까?

클랑이 더 많이 사용되지 않는 이유는 무엇입니까? 현재 상태로는 이 질문은 우리의 Q&A 형식에 맞지 않습니다.사실, 참고 자료 또는 전문 지식에 의해 답변이 뒷받침되기를 기대하지만, 이 질문은 토론, 주장, 여론 조사 또는 토론을 요청할 가능성이 높습니다.만약 이 질문이 개선되고 다시 열릴 수 있다고 생각한다면,안내를 받기 위해 헬프 센터를 방문합니다. 닫힘10년 전에. 이전에 C/C++에서 상당한 양의 프로그래밍을 해봤지만, 요즘은 제가 하는 프로그래밍의 작은 부분만 차지합니다(스크립트 언어가 제가 하는 많은 일에 훨씬 더 적합합니다).저는 지난 며칠 동안 몇몇 C 프로그래밍 프로젝트를 작업했는데, 제가 계속 잊어버린 작은 구문 세부 사항들에 놀랐습니다.은 그 입니다.cc/gcc일반적으로 이러한 문제..

programing 2023.10.25

printf는 char 배열에서 16진수 인쇄에 'FFFFFF'를 추가합니다.

printf는 char 배열에서 16진수 인쇄에 'FFFFFF'를 추가합니다. 이 질문에는 이미 다음과 같은 답변이 있습니다. 왜 hex를 인쇄할 때 printf는 1바이트만 출력하지 않습니까? (5개 답변) 닫힘6년 전에. 아래와 같은 단순화된 코드를 고려합니다.파일에서 이진 데이터/스트림을 추출하여 16진수 형식으로 표준 출력에 인쇄하고자 합니다. 3바이트를 더 받았습니다.0xFFFFFF.뭐가 잘못됐나요?여분의 바이트는 어디서 왔습니까? 산출량 in: 2000FFFFFFAF00690033005A00 out: 2000FFFFFFAF00690033005A00 프로그램.c #include #include int main(int argc, char** argv) { int i; char raw[10] = {..

programing 2023.10.25

파일을 바이트 배열로 읽기

파일을 바이트 배열로 읽기 문 닫았습니다.이 질문은 충족되지 않습니다.스택 오버플로 지침.현재 답변을 받지 않고 있습니다. 도구, 라이브러리 또는 선호하는 오프사이트 리소스를 추천하거나 찾으라는 질문은 의견이 많은 답변과 스팸을 끌어들이는 경향이 있기 때문에 스택 오버플로에서는 주제가 다릅니다.대신, 문제와 그것을 해결하기 위해 지금까지 무엇을 했는지 설명하세요. 9년전에 문을 닫았습니다. 이 질문을 개선합니다. 허프만 알고리즘을 코딩하는 과제가 있습니다.머릿속에 문제가 다 정리되어 있는데 파일 처리에 문제가 좀 있습니다. 문제는 알고리즘이 모든 종류의 파일을 압축하도록 되어 있다는 것입니다. 내 해결책: 파일을 바이트 배열로 읽은 다음,int array[256]={0}각 바이트에 대해, 그것을 얻으라...

programing 2023.10.20

바닥이 왜 이렇게 느려요?

바닥이 왜 이렇게 느려요? 최근에 코드(ISO/ANSIC)를 작성했는데 성능이 떨어져서 놀랐습니다.간단히 말해서, 범인은 범인인 것으로 밝혀졌습니다.floor()기능. 가 느렸을뿐만 아니라 벡터화가 되지 않았습니다(Intel compiler, 일명 ICL).속도가 느렸을 뿐만 아니라 (인텔 컴파일러, 일명 ICL과 함께) 벡터화되지 않았습니다. 다음은 2D 매트릭스의 모든 셀에 대해 플로어를 수행하는 몇 가지 벤치마크입니다. VC: 0.10 ICL: 0.20 단순한 캐스팅과 비교해 보십시오. VC: 0.04 ICL: 0.04 어떻게 할수있을까요floor()단순한 캐스팅보다 훨씬 느리다고요?!그것은 본질적으로 같은 일을 합니다 (부정적인 숫자를 제외하고).두 번째 질문:초고속 단식을 알고 있는 사람이 있습..

programing 2023.10.20
반응형