タグ付けされた質問 「c」

Cは、システムプログラミング(OSおよび組み込み)、ライブラリ、ゲーム、クロスプラットフォームに使用される汎用プログラミング言語です。このタグは、ISO 9899標準で定義されているC言語に関する一般的な質問で使用する必要があります(特に指定のない限り、最新バージョン9899:2018。バージョン固有のリクエストには、c89、c99、c11などのタグも付けます)。CはC ++とは異なり、合理的な理由がない限り、C ++タグと組み合わせるべきではありません。

30
アセンブリはCより速いですか?
アセンブラーを知っている理由の1つは、場合によっては、高水準言語(特にC)でコードを記述するよりもパフォーマンスの高いコードを記述するために使用できることです。ただし、これは完全に誤りではありませんが、実際にアセンブラを使用してよりパフォーマンスの高いコードを生成できるケースは非常にまれであり、アセンブリに関する専門知識と経験が必要であると何度も述べたと聞いています。 この質問は、アセンブラー命令がマシン固有で移植不可能であるという事実、またはアセンブラーの他の側面のいずれにも当てはまりません。もちろん、これ以外にもアセンブリを理解することには十分な理由がありますが、これは例やデータを求める特定の質問であり、アセンブラと高水準言語についての幅広い談話ではありません。 最新のコンパイラを使用して適切に記述されたCコードよりもアセンブリが高速になる場合の具体的な例を誰かが提供できますか?プロファイリングの証拠でその主張をサポートできますか?私はこれらのケースが存在することを確信していますが、いくつかの論争のポイントであると思われるので、これらのケースがどれほど難解であるかを正確に知りたいです。
475 c  performance  assembly 

10
makefile:4:***セパレータがありません。やめる
これは私のメイクファイルです: all:ll ll:ll.c gcc -c -Wall -Werror -02 c.c ll.c -o ll $@ $< clean : \rm -fr ll make cleanまたはをしようとするとmake make、次のエラーが発生します。 :makefile:4: *** missing separator. Stop. どうすれば修正できますか?
474 c  makefile 


14
Cプログラミング言語標準に従って構造体を初期化する方法
宣言と初期化で分割されたstruct要素を初期化したい。これは私が持っているものです: typedef struct MY_TYPE { bool flag; short int value; double stuff; } MY_TYPE; void function(void) { MY_TYPE a; ... a = { true, 15, 0.123 } } これはMY_TYPE、Cプログラミング言語標準(C89、C90、C99、C11など)に従ってローカル変数を宣言および初期化する方法ですか?それとも、もっと良い、または少なくとも機能しているものはありますか? 更新静的な初期化要素が必要になり、必要に応じてすべてのサブ要素を設定しました。
466 c  struct  initialization 

20
プログラムでマシン上のコアの数を見つける
プラットフォームに依存しない方法で、C / C ++からマシンが持っているコアの数を決定する方法はありますか?そのようなものが存在しない場合、それをプラットフォームごと(Windows / * nix / Mac)に決定するのはどうですか?
464 c++  c 

19
Visual Studio C / C ++コンソールアプリケーションでコンソールウィンドウが閉じないようにする
答えが間違いなく明白であるので、これはおそらく大げさな質問です。 Visual Studioを何年も使用していますが、「コンソールアプリケーション」の開発を行ったのはこれが初めてです。 アプリケーションを実行すると、コンソールウィンドウがポップアップし、プログラムの出力が表示され、アプリケーションが終了するとウィンドウが閉じます。 出力を確認するまで開いたままにする方法、またはウィンドウが閉じた後に結果を表示する方法はありますか?
464 c  visual-studio  console 


6
Typedef関数ポインター?
StackаэтотвопросестьответынаStack Overflowнарусском:typeакработаетtypedefвэтомкоде? DLLを動的にロードする方法を学習していますが、理解できないのはこの行です typedef void (*FunctionFunc)(); 少し質問があります。誰かがそれに答えることができれば私は感謝しています。 なぜtypedef使用されるのですか? 構文は奇妙に見えます。後にvoid関数名や何かがあるべきではありませんか?匿名関数のように見えます。 関数のメモリアドレスを格納するために関数ポインタが作成されていますか? だから私は今混乱しています。わかりやすく説明してもらえますか?
459 c++  c  pointers  typedef 

8
boolのprintf形式指定子とは何ですか?
ANSI C99以降、_Boolまたはboolを使用していstdbool.hます。しかしprintf、ブールのフォーマット指定子もありますか? その疑似コードのようなものを意味します: bool x = true; printf("%B\n", x); 印刷されます: true
458 c++  c  boolean  printf 

18
標準のC ++ / C ++ 11 / Cを使用してファイルが存在するかどうかを確認する最も速い方法は?
標準のC ++ 11、C ++、またはCにファイルが存在するかどうかを確認する最速の方法を見つけたいと思います。何千ものファイルがあり、それらに何かを行う前に、すべてが存在するかどうかを確認する必要があります。/* SOMETHING */次の関数の代わりに何を書くことができますか? inline bool exist(const std::string& name) { /* SOMETHING */ }
453 c++  c  file  stream 

28
ポインターを理解するための障壁は何ですか?それらを克服するために何ができるでしょうか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 6年前休業。 ポインターが、CまたはC ++の多くの新しい、さらには古い、大学生レベルの学生にとって混乱の主な要因であるのはなぜですか?ポインターが変数、関数、およびレベルを超えてどのように機能するかを理解するのに役立つツールまたは思考プロセスはありますか? 誰かが「ああ、わかった」のレベルに到達するために、全体的なコンセプトに夢中にならないようにするために実行できるいくつかの優れた実践方法は何ですか?基本的に、シナリオのようにドリルします。
449 c++  c  pointers 


12
LinuxのネイティブGUI APIとは何ですか?
私はこれが愚かな質問として出くわさないことを望みますが、それはいつも私が疑問に思っていることです。Windows(Win32 API)とOS X(Cocoa)の両方には、ウィンドウ、イベント、その他のOSのものを処理するための独自のAPIがあります。Linuxの同等物が何であるかについて、私は本当に明確な答えを得たことがありません。 GTK +と言う人もいますが、GTK +はクロスプラットフォームです。どうすればネイティブになれますか?
441 c++  c  linux  api  user-interface 


5
CMakeでのデバッグとリリース
GCCコンパイル済みプロジェクトでは、 各ターゲットタイプ(デバッグ/リリース)に対してCMakeを実行するにはどうすればよいですか? CMakeを使用してデバッグとリリースのC / C ++フラグを指定するにはどうすればよいですか? メインの実行可能ファイルがコンパイルされg++、1つのネストされたライブラリがコンパイルされることをどのように表現しgccますか?
434 c++  c  gcc  cmake 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.