«c» 태그된 질문

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

1
“char s [static 10]”과 같은 함수의 배열 매개 변수에서 static 키워드의 목적은 무엇입니까?
일부 소스 코드를 탐색하는 동안 다음과 같은 기능을 발견했습니다. void someFunction(char someArray[static 100]) { // do something cool here } 몇 가지 실험을 통해 다른 한정자가 나타날 수도 있습니다. void someFunction(char someArray[const]) { // do something cool here } 한정자는 [ ]배열이 함수의 매개 변수로 선언 된 경우에만 허용되는 것으로 …
144 c  arrays  parameters  static 

6
else 문에서 GCC의 __builtin_expect의 장점은 무엇입니까?
나는 #define그들이 사용하는 것을 발견했다 __builtin_expect. 설명서 는 다음과 같이 말합니다. 내장 기능 : long __builtin_expect (long exp, long c) __builtin_expect분기 예측 정보를 컴파일러에 제공하는 데 사용할 수 있습니다 . 일반적 -fprofile-arcs으로 프로그래머가 프로그램의 실제 성능을 예측하는 데 악명이 높기 때문에 실제 프로파일 피드백을 사용하는 것이 좋습니다 ( ). 그러나이 …
144 c  linux  gcc  built-in 

6
변수 이름에 주석을 쓸 수 있습니까?
int main() { i/*nt*/a = 10; return 0; } 위의 코드가 있고 토큰을 세고 싶다면 토큰이 14 개 또는 13 개입니까? 변수 이름 내에 주석을 쓰는 것이 유효합니까? 당신은 가정 수 int i, int a, int ia전역으로 정의된다.


9
신호와 신호의 차이점은 무엇입니까?
우리가 여기에있는 앱에 여분의 신호 처리기를 추가하려고했으며 저자가 sigaction()다른 신호 처리기를 설정하는 데 사용했음을 알았 습니다. 나는 사용하려고했다 signal(). 관습에 따라 사용해야 sigaction()하지만 처음부터 글을 쓰고 있다면 어떤 것을 선택해야합니까?
143 c  signals  posix 

2
컴파일 할 때 -pthread 플래그의 의미
다양한 멀티 스레드 C 및 C ++ 프로젝트에서 -pthread플래그는 컴파일 및 연결 단계 모두에 적용되는 반면 다른 사람들은 전혀 사용하지 않고 -lpthread연결 단계로 전달 됩니다. 컴파일 및 -pthread플래그 와 연결되지 않은 위험 -pthread이 있습니까? 즉 실제로 무엇을합니까? 저는 주로 Linux 플랫폼에 관심이 있습니다.
143 c++  c  linux  pthreads 

4
BLAS, LAPACK 및 ATLAS의 관계는 무엇입니까
BLAS, LAPACK 및 ATLAS가 어떻게 관련되어 있고 어떻게 함께 사용해야하는지 모르겠습니다. 나는 모든 매뉴얼을 살펴 보았고 BLAS와 LAPACK에 대한 일반적인 아이디어와 내가 찾은 몇 가지 예제와 함께 사용하는 방법을 알고 있지만 ATLAS를 사용하여 실제 예제를 찾을 수는 없습니다. 이 두. 행렬에 대해 저수준 작업을 수행하려고하는데 기본 언어는 C입니다. 먼저 GSL을 …
143 c  lapack  blas  atlas 

16
포인터 설명을 가리키는 포인터
나는 이것을 따르고 있었다 포인터에 대한 포인터의 작동 방식에 대한 자습서 를 . 관련 구절을 인용하겠습니다. int i = 5, j = 6, k = 7; int *ip1 = &i, *ip2 = &j; 이제 우리는 설정할 수 있습니다 int **ipp = &ip1; 및 ipp포인트 ip1에있는 점 i. *ipp이다 ip1, 그리고 …
142 c  pointers 

6
_DEBUG vs NDEBUG
코드의 디버그 섹션을 지정하기 위해 어떤 전 처리기 정의를 사용해야합니까? #ifdef _DEBUG또는 사용 #ifndef NDEBUG하는 것이 더 좋은 방법이 #define MY_DEBUG있습니까? _DEBUGVisual Studio와 관련이 있다고 생각합니다. NDEBUG가 표준입니까?
142 c++  c  debugging 


30
C의 숨겨진 기능
잠김 . 이 질문과 주제는 주제가 다르지만 역사적 의미 가 있으므로이 질문과 답변은 잠겨 있습니다. 현재 새로운 답변이나 상호 작용을받지 않습니다. 모든 C 컴파일러 구현에는 표준이 있으므로 숨겨진 기능이 없어야합니다. 그럼에도 불구하고, 나는 모든 C 개발자들이 항상 사용하는 숨겨진 / 비법을 가지고 있다고 확신합니다.
141 c  hidden-features 

21
objective-c typedef를 해당하는 문자열로 변환
.h 파일에 typedef가 다음과 같이 선언되었다고 가정합니다. typedef enum { JSON, XML, Atom, RSS } FormatType; typedef의 숫자 값을 문자열로 변환하는 함수를 만들고 싶습니다. 예를 들어, 메시지 [self toString:JSON]가 전송 된 경우; 'JSON'을 반환합니다. 함수는 다음과 같습니다. -(NSString *) toString:(FormatType)formatType { //need help here return []; } 덧붙여서,이 구문을 시도하면 …
141 c  objective-c  enums  typedef 

16
if-else 블록에서 'if (0)'블록의 목적은 무엇입니까?
내 질문은 내가 주제에서 언급 한 라인과 생산 코드 내부의 많은 곳에서 볼 수있는 라인에 관한 것입니다. 전체 코드는 다음과 같습니다. if (0) { // Empty braces } else if (some_fn_call()) { // actual code } else if (some_other_fn_call()) { // another actual code ... } else { // default …
141 c  if-statement 

23
초보자에게 C 포인터 (선언 대 단항 연산자)를 설명하는 방법은 무엇입니까?
나는 C 프로그래밍 초보자에게 포인터를 설명하는 데 최근에 기쁨을 느꼈으 며 다음과 같은 어려움에 부딪쳤다. 포인터를 사용하는 방법을 이미 알고 있다면 전혀 문제가되지 않을 수 있지만 다음 예제를 분명하게 살펴보십시오. int foo = 1; int *bar = &foo; printf("%p\n", (void *)&foo); printf("%i\n", *bar); 절대 초보자에게는 출력이 놀랍습니다. 2 행에서 방금 …
141 c  pointers 


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