«c» 태그된 질문

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

6
C 및 C ++에서 다르게 작동하는 열거 형 상수
이유 : #include <stdio.h> #include <limits.h> #include <inttypes.h> int main() { enum en_e { en_e_foo, en_e_bar = UINT64_MAX, }; enum en_e e = en_e_foo; printf("%zu\n", sizeof en_e_foo); printf("%zu\n", sizeof en_e_bar); printf("%zu\n", sizeof e); } 4 8 8C 및 8 8 8C ++로 인쇄 합니까 (4 바이트 정수가있는 플랫폼에서)? 나는 UINT64_MAX할당이 …
81 c++  c 

4
구조체의 특별한 점은 무엇입니까?
C에서는 함수에서 배열을 반환 할 수 없지만 배열에 대한 포인터를 반환한다는 것을 알고 있습니다. 그러나 structs배열이 포함되어 있어도 함수로 반환 할 수 있는 특별한 점이 무엇인지 알고 싶습니다 . struct래핑으로 인해 다음 프로그램이 유효한 이유는 무엇 입니까? #include <stdio.h> struct data { char buf[256]; }; struct data Foo(const char *buf); …

4
POSIX 스레드 및 신호
POSIX 스레드와 POSIX 신호가 상호 작용하는 방식의 복잡성을 이해하려고 노력해 왔습니다. 특히 다음 사항에 관심이 있습니다. 신호가 전달되는 스레드를 제어하는 ​​가장 좋은 방법은 무엇입니까 (처음에는 치명적이지 않다고 가정)? 다른 스레드 (실제로 사용 중일 수 있음)에 신호가 도착했음을 알리는 가장 좋은 방법은 무엇입니까? (나는 이미 신호 처리기에서 pthread 조건 변수를 사용하는 …
81 c  pthreads  signals 

5
최고의 (휴대용) 크로스 플랫폼 임의 정밀도 수학 라이브러리는 무엇입니까? [닫은]
닫은. 이 질문은 Stack Overflow 지침을 충족하지 않습니다 . 현재 답변을 받고 있지 않습니다. 이 질문을 개선하고 싶으십니까? Stack Overflow의 주제에 맞게 질문을 업데이트하세요 . 휴일 오년 전에 . 이 질문 개선 C 또는 C ++에서 좋은 임의 정밀도 수학 라이브러리를 찾고 있습니다. 제게 조언이나 제안을 주시겠습니까? 기본 요구 사항 …
81 c++  c  biginteger  bigdecimal  gmp 

2
Android AudioRecord가 다른 스트림을 MIC 오디오 소스로 강제
업데이트 3 : 저는 다른 개발자와 파트너 관계를 맺고 있으며 많은 돈으로이 작업을 수행 할 수있는 사람을 찾은 것 같습니다. 그들은 우리에게 테스트 APK를 보냈고 작동하는 것 같습니다. 우리는 계속해서 소스를 구입할 것입니다. 우리가 사기 당하지 않기를 바랍니다. 알아 내면 업데이트하겠습니다 업데이트 2 : 아직 작업 중입니다. 더 고통스러운 날이 …

30
임베디드 개발을 위해 C ++ 대신 C를 사용하는 이유가 있습니까?
질문 하드웨어 C ++ 및 C89에 두 개의 컴파일러가 있습니다. 클래스와 함께 C ++를 사용하는 것에 대해 생각하고 있지만 (vtables를 피하기 위해) 다형성이 없습니다. C ++를 사용하고 싶은 주된 이유는 다음과 같습니다. 매크로 정의 대신 "인라인"함수를 사용하는 것을 선호합니다. 접두사가 코드를 복잡하게 만들 때 네임 스페이스를 사용하고 싶습니다. 주로 템플릿과 …
81 c++  c  embedded  c89 


8
ld를 금으로 대체-경험이 있습니까?
누구든지 gold대신 사용하려고 ld했습니까? gold 는 보다 훨씬 빠르기 ld때문에 대규모 C ++ 애플리케이션의 테스트주기를 가속화하는 데 도움이 될 수 있지만 ld의 드롭 인 대체물로 사용할 수 있습니까? 수 gcc/ g++직접 전화 gold.? 알려진 버그 나 문제점이 있습니까? goldGNU binutils의 일부 이지만 웹에서 "성공 사례"나 "Howtos"조차 거의 발견하지 못했습니다. ( …

9
실행되지 않는 코드가 정의되지 않은 동작을 호출 할 수 있습니까?
정의되지 않은 동작 (이 예에서는 0으로 나누기)을 호출하는 코드는 실행되지 않습니다. 프로그램이 여전히 정의되지 않은 동작입니까? int main(void) { int i; if(0) { i = 1/0; } return 0; } 여전히 정의되지 않은 행동이라고 생각하지만 표준에서 나를지지하거나 거부 할 증거를 찾을 수 없습니다. 그래서, 어떤 아이디어?

1
계수를 사용한 C 추가
를 인쇄하는 흥미로운 C 코드를 발견 A + B했지만 이해하는 데 어려움이 있습니다. 입력 형식 : A B 여기서 A, B사이의 정수이다 0및 10단일 공간으로 분리된다. 암호: main( n ) { gets( &n ); printf("%d", n % 85 - 43); } 이것은 짧은 코딩을위한 것이므로 경고를 신경 쓰지 마십시오. 내가 …
81 c  addition  mod 

9
strcpy 대 memcpy
memcpy()과 의 차이점은 무엇입니까 strcpy()? 나는 프로그램의 도움으로 그것을 찾으려고했지만 둘 다 동일한 결과를 제공하고 있습니다. int main() { char s[5]={'s','a','\0','c','h'}; char p[5]; char t[5]; strcpy(p,s); memcpy(t,s,5); printf("sachin p is [%s], t is [%s]",p,t); return 0; } 산출 sachin p is [sa], t is [sa]
81 c  memcpy  strcpy 

6
#pragma가 자동으로 가정되지 않는 이유는 무엇입니까?
파일을 한 번만 포함하도록 컴파일러에 구체적으로 말하는 이유는 무엇입니까? 기본적으로 말이되지 않습니까? 단일 파일을 여러 번 포함해야하는 이유가 있습니까? 왜 그것을 가정하지 않습니까? 특정 하드웨어와 관련이 있습니까?
81 c++  c  pragma 

11
uint_fast32_t보다 uint32_t가 선호되는 이유는 무엇입니까?
(나는 이것이 일화적인 증거라는 것을 알고 있습니다) uint32_t보다 훨씬 더 널리 퍼져있는 것 같습니다 uint_fast32_t. 하지만 그것은 나에게 반 직관적 인 것 같습니다. 거의 항상 구현 사용을 볼 때 uint32_t실제로 원하는 것은 최대 4,294,967,295 값을 보유 할 수있는 정수뿐입니다 (일반적으로 65,535에서 4,294,967,295 사이의 훨씬 낮은 범위). '정확히 32 비트' 보장이 …
81 c++  c  int 

6
scanf가 C에서 버퍼 오버플로를 일으키는 것을 방지하는 방법은 무엇입니까?
이 코드를 사용합니다. while ( scanf("%s", buf) == 1 ){ 임의 길이의 문자열을 전달할 수 있도록 가능한 버퍼 오버플로를 방지하는 가장 좋은 방법은 무엇입니까? 예를 들어 다음을 호출하여 입력 문자열을 제한 할 수 있다는 것을 알고 있습니다. while ( scanf("%20s", buf) == 1 ){ 하지만 사용자가 입력 한 모든 것을 …

10
C의 문자열 패딩
StringPadRight ( "Hello", 10, "0")-> "Hello00000"을 수행하는 함수를 작성했습니다. char *StringPadRight(char *string, int padded_len, char *pad) { int len = (int) strlen(string); if (len >= padded_len) { return string; } int i; for (i = 0; i < padded_len - len; i++) { strcat(string, pad); } return string; } 작동하지만 …
81 c  string  padding 

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