«c» 태그된 질문

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

6
객체 지향 C ++ 코드 용 C 래퍼 API 개발
우리의 핵심 로직 (객체 지향 C ++로 작성)에 액세스하기 위해 기존 C ++ API를 래핑 할 C API 세트를 개발하려고합니다. 이것은 본질적으로 C ++ 로직을 다른 언어에서 사용할 수 있도록하는 글루 API입니다. 객체 지향 C ++ 주위에 C를 래핑하는 것과 관련된 개념을 소개하는 좋은 자습서, 서적 또는 모범 사례는 무엇입니까?
81 c++  c  wrapper 

9
터미널을 사용하여 Mac OS X에서 C 프로그램을 실행하는 방법은 무엇입니까?
저는 C를 처음 사용합니다. 여기에 "Hello, world!"가 있습니다. 프로그램. #include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; } 터미널을 사용하여 실행하려고하면 다음과 같이 표시됩니다. MacBook-Pro-MacBook:~ macbook$ /Users/macbook/Desktop/peng/Untitled1 -bash: /Users/macbook/Desktop/peng/Untitled1: Permission denied MacBook-Pro-MacBook:~ macbook$ 왜?
81 c  macos  bash 

3
'마스킹 된'비트 세트 증가
나는 현재 다음과 같은 문제가 발생한 트리 열거자를 작성하는 중입니다. 설정 비트 즉, 마스크의 하위 집합 어디 마스크 bitsets, 즉 bitsets 찾고 있어요 0000101마스크 1010101. 내가 달성하고 싶은 것은 bitset을 증가시키는 것이지만 마스크 된 비트에 대해서만 가능합니다. 이 예에서 결과는입니다 0010000. 좀 더 명확하게하려면 마스킹 된 비트 만 추출합니다. 즉 …

3
코드가 꼬리 호출 최적화를 적극적으로 방지하려는 이유는 무엇입니까?
질문의 제목은 약간 이상 할 수 있지만 제가 아는 한 테일 콜 최적화에 반대하는 내용은 전혀 없습니다. 그러나 오픈 소스 프로젝트를 탐색하는 동안 컴파일러가 테일 호출 최적화를 수행하는 것을 적극적으로 중지하려는 몇 가지 기능 (예 : 이러한 해킹으로 가득 찬 CFRunLoopRef 구현)을 이미 발견했습니다 . 예를 들면 : static void …

3
GCC 패드가 NOP와 함께 작동하는 이유는 무엇입니까?
나는 C와 잠시 동안 일 해왔고 아주 최근에 ASM에 들어가기 시작했습니다. 프로그램을 컴파일 할 때 : int main(void) { int a = 0; a += 1; return 0; } objdump 디스 어셈블리에는 코드가 있지만 ret 후에는 nops입니다. ... 08048394 <main>: 8048394: 55 push %ebp 8048395: 89 e5 mov %esp,%ebp 8048397: …
81 c  gcc  assembly 

9
C에서 char 문자열을 수정할 수 있습니까?
나는 포인터와 관련된 모든 종류의 C 튜토리얼과 책으로 몇 시간 동안 어려움을 겪었지만 내가 정말로 알고 싶은 것은 char 포인터가 생성되면 변경할 수 있는지 여부입니다. 이것이 내가 시도한 것입니다. char *a = "This is a string"; char *b = "new string"; a[2] = b[1]; // Causes a segment fault *b[2] …
81 c  string  debugging 

4
다중 라인 전 처리기 매크로
다중 라인 전 처리기 매크로를 만드는 방법은 무엇입니까? 한 줄을 만드는 방법을 알고 있습니다. #define sqr(X) (X*X) 하지만 다음과 같은 것이 필요합니다. #define someMacro(X) class X : public otherClass { int foo; void doFoo(); }; 이 작업을 수행하려면 어떻게해야합니까? 이것은 예시 일 뿐이며 실제 매크로는 매우 길 수 있습니다.
81 c++  c  c-preprocessor 

8
순수 C / C ++ (cout / printf)에서 진행률 표시기를 표시하는 방법은 무엇입니까?
큰 파일을 다운로드하기 위해 C ++로 콘솔 프로그램을 작성하고 있습니다. 파일 크기를 알고 있으며 작업 스레드를 시작하여 다운로드합니다. 더 멋지게 보이도록 진행률 표시기를 표시하고 싶습니다. cout 또는 printf에서 다른 시간에 동일한 위치에 다른 문자열을 표시하는 방법은 무엇입니까?
81 c++  c  user-interface  c++11  io 

6
C에서 최고의 타이밍 방법?
고해상도와 이식성을 갖춘 코드 섹션의 시간을 측정하는 가장 좋은 방법은 무엇입니까? /* Time from here */ ProcessIntenseFunction(); /* to here. */ printf("Time taken %d seconds %d milliseconds", sec, msec); 크로스 플랫폼 솔루션이있는 표준 라이브러리가 있습니까?
80 c  performance  timer  timing 



1
파이썬 : 왜 *와 **가 /와 sqrt ()보다 빠릅니까?
코드를 최적화하는 동안 다음을 깨달았습니다. >>> from timeit import Timer as T >>> T(lambda : 1234567890 / 4.0).repeat() [0.22256922721862793, 0.20560789108276367, 0.20530295372009277] >>> from __future__ import division >>> T(lambda : 1234567890 / 4).repeat() [0.14969301223754883, 0.14155197143554688, 0.14141488075256348] >>> T(lambda : 1234567890 * 0.25).repeat() [0.13619112968444824, 0.1281130313873291, 0.12830305099487305] 그리고 또한: >>> from math import …

6
이 버전의 논리 AND C에서 단락 동작이 표시되지 않는 이유는 무엇입니까?
예, 이것은 숙제 질문이지만 주제에 대해 조사하고 상당한 양의 깊이 생각을했지만 이것을 이해할 수 없습니다. 질문은이 코드 조각이 단락 동작을 나타내지 않으며 그 이유를 묻습니다. 그러나 그것은 단락 동작을 보이는 것처럼 보이므로 누군가가 왜 그렇지 않은지 설명 할 수 있습니까? C에서 : int sc_and(int a, int b) { return a …


16
헤더 파일과 라이브러리의 차이점은 무엇입니까?
내가 이해하기 어려운 것 중 하나는 컴파일러가 작동하는 방식입니다. 나는 많은 어려움을 겪고 있지만 특히 헤더와 라이브러리가 계속 섞여 있습니다. 누군가 일을 조금 정리할 수 있다면 좋을 것입니다.
80 c++  c 

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