«c» 태그된 질문

C는 시스템 프로그래밍 (OS 및 임베디드), 라이브러리, 게임 및 크로스 플랫폼에 사용되는 범용 프로그래밍 언어입니다. 이 태그는 달리 지정하지 않는 한 ISO 9899 표준 (최신 버전, 9899 : 2018, C89, c99, c11 등으로 버전 별 요청에 태그 지정)에 정의 된대로 C 언어와 관련된 일반적인 질문과 함께 사용해야합니다. C는 C ++과 구별되며 합리적인 이유없이 C ++ 태그와 결합해서는 안됩니다.

3
sock send () 명령에서 "일시적으로 리소스를 사용할 수 없음"이 발생하는 원인
Resource temporarily unavailable소켓 send()명령 에 오류 가 발생할 수있는 것은 무엇입니까 ? 소켓은 AF_UNIX, SOCK_STREAM. 대부분의 경우 작동하지만 때때로이 오류가 발생합니다. 소켓의받는 쪽이 제대로 작동하는 것 같습니다. 나는 이것이 매우 상세하지 않다는 것을 알고 있지만 일반적인 아이디어를 찾고 있습니다. 감사!
83 c  linux  sockets  unix 

3
정적으로 링크 된 라이브러리 간의 기호 충돌을 처리하는 방법은 무엇입니까?
라이브러리를 작성할 때 가장 중요한 규칙과 모범 사례 중 하나는 라이브러리의 모든 심볼을 라이브러리 별 네임 스페이스에 넣는 것입니다. C ++는 namespace키워드 덕분에 이것을 쉽게 만듭니다 . C에서 일반적인 접근 방식은 식별자 앞에 라이브러리 특정 접두사를 붙이는 것입니다. C 표준의 규칙 (안전 컴파일)들에 대한 몇 가지 제약 넣어 : AC …

7
가변 개수의 인수를 printf / sprintf에 전달하는 방법
일부 텍스트를 형식화하는 "오류"함수를 보유하는 클래스가 있습니다. 가변 개수의 인수를 수락 한 다음 printf를 사용하여 형식을 지정하고 싶습니다. 예: class MyClass { public: void Error(const char* format, ...); }; Error 메서드는 매개 변수를 가져 와서 printf / sprintf를 호출하여 형식을 지정한 다음 작업을 수행해야합니다. 모든 서식을 직접 작성하고 싶지 않으므로 …


4
C는 C ++보다 훨씬 빠릅니다.
현재이 질문은 Q & A 형식에 적합하지 않습니다. 사실, 참고 문헌 또는 전문 지식이 답변을 뒷받침 할 것으로 기대하지만이 질문은 토론, 논쟁, 여론 조사 또는 확장 된 토론을 유도 할 가능성이 높습니다. 이 질문이 개선되고 다시 열릴 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으세요. 휴일 9 년 …
83 c++  c  performance 

6
#ifdef 내부 #define
다음과 같이 작성하려고합니다. #define COV_ON(x) \ #ifdef COVERAGE_TOOL \ _Pragma (COVERAGE #x) #endif COV_ON이렇게 정의 할 방법 이 있습니까? 나는 #ifdef#define 안에 가질 수 없기 때문에 위에서 한 일이 잘못되었음을 알고 있습니다 . ( #은에서 허용되는 문자가 아닙니다 #define). 그래서 어떤 해결책이 있습니까?
83 c  c-preprocessor 

3
캐스트 프리의 반환 값을 무효로하는 이유는 무엇입니까?
C를 사용 하는 책 ( POSIX Threads by Butenhof, 1997)을 읽고 있는데 다음 줄을 보았습니다. (void)free(data); 여기, data할당 된 구조체에 대한 포인터입니다. data = malloc(sizeof(my_struct_t)); 결과 free가 캐스트 된 이유는 무엇 void입니까? C에 대한 나의 이해에서 이것은 두 가지 이유로 이해되지 않는 것 같습니다. 자유 함수는 이미 반환 void 코드가 …
82 c  casting  free  void  legacy-code 

2
사용하지 않는 줄을 주석 처리 한 후 Switch-case가 컴파일되지 않습니다.
내 코드는 다음과 같습니다. #include <stdio.h> #include <string.h> #include <stdlib.h> #include <netdb.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> int main (void) { struct addrinfo hints; memset (&hints, 0, sizeof hints); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_DGRAM; hints.ai_flags = AI_CANONNAME; struct addrinfo *res; getaddrinfo ("example.com", "http", &hints, &res); printf ("Host: %s\n", …
82 c 

2
왜“2i;” 컴파일러 오류가 발생하지 않습니까?
대신 2*i나는 부주의하게 썼다 2i. int foo(int i) { 2i; return 2i; } 컴파일러가 오류를 잡을 것으로 예상했습니다. 그러나 그렇지 않았습니다. 그렇다면 2iC에서 유효한 진술입니까? 그렇다면 그것은 무엇을합니까? 어찌할 바를 모르는! gcc 버전 5.3.0을 사용하여 컴파일했으며 다음은 어셈블리 출력입니다. .file "strange.c" .text .globl foo .type foo, @function foo: .LFB0: .cfi_startproc …
82 c  syntax 


8
C 프로그래밍 : 유니 코드 용으로 프로그래밍하는 방법?
엄격한 유니 코드 프로그래밍을 수행하려면 어떤 전제 조건이 필요합니까? 이 내 코드는 사용하지 말아야 것을 의미합니까 char어디서나 종류와 그 기능을 처리 할 수있는 사용해야 wint_t하고 wchar_t? 그리고이 시나리오에서 멀티 바이트 문자 시퀀스가 ​​수행하는 역할은 무엇입니까?

6
C의 공유 전역 변수
C에서 공유되는 전역 변수를 어떻게 만들 수 있습니까? 헤더 파일에 넣으면 링커는 변수가 이미 정의되어 있다고 불평합니다. 내 C 파일 중 하나에서 변수를 선언하고 extern사용하려는 다른 모든 C 파일의 맨 위에 s 를 수동으로 넣는 유일한 방법 입니까? 이상적이지 않은 것 같습니다.


7
(왜) 초기화되지 않은 변수 정의되지 않은 동작을 사용하고 있습니까?
만약 내가 가지고 있다면: unsigned int x; x -= x; 이 표현식 뒤에는 0이 x 되어야한다는 것은 분명 하지만, 내가 보는 모든 곳에서 그들은 이 코드 의 동작 이 x(빼기 전까지) 값이 아니라 정의되지 않았다고 말합니다 . 두 가지 질문 : 이 코드 의 동작 이 실제로 정의되지 않았습니까? (예 …

5
snprintf ()는 항상 null로 종료됩니까?
snprintf는 항상 대상 버퍼를 종료하는 null입니까? 즉, 이것으로 충분합니까? char dst[10]; snprintf(dst, sizeof (dst), "blah %s", somestr); 아니면 somestr이 충분히 길다면 이렇게해야합니까? char dst[10]; somestr[sizeof (dst) - 1] = '\0'; snprintf(dst, sizeof (dst) - 1, "blah %s", somestr); 나는 표준이 말하는 것과 표준 동작이 아닌 일부 대중적인 libc가 무엇을 할 …
82 c  posix  libc 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.