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

Cは、オペレーティングシステム、ゲーム、その他の高性能作業に使用される汎用のコンピュータープログラミング言語です。

5
原則として未定義の動作
CでもC ++でも、CまたはC ++標準に従って動作が定義されていないこの不正なプログラムは興味深いと思います。 #include <stdio.h> int foo() { int a; const int b = a; a = 555; return b; } void bar() { int x = 123; int y = 456; } int main() { bar(); const int n1 = foo(); const int n2 = foo(); const int n3 …

1
既存のRパッケージからスタンドアロンCライブラリを抽出するための推奨される方法?
私のグループは、植物の成長をシミュレートするためのRパッケージを開発しています(GitHubレポジトリを参照)。Rパッケージは.CallCとのインターフェースに使用します。 スタンドアロンCライブラリを作成する価値があると判断しました。2つの主な理由は、1)使い慣れたCデバッグツールを使用すること、および2)開発者/ユーザーコミュニティの大部分がコンパイル済み言語に精通していることです(ほとんどのクラスのモデルはCまたはFortranで書かれています)。ただし、Rパッケージはこのコミュニティの外部の多くの人がアクセスできるため、その機能を維持したいと考えています。 Cライブラリの依存関係を持つRパッケージについて説明しているいくつかの関連する質問(https://stackoverflow.com/q/12328156/199217など)を確認しましたが、既存のRパッケージのデカップリングを特に扱う質問は見つかりませんでした。 提案されたアプローチ (私たちがこれまでに思いついたこと...ストローマン) 既存の機能のテストを作成する Cライブラリをsrc/フォルダー内に保持する R固有のCコード(SEXPRライブラリの読み込みなど)を、先頭に「Rラッパー」ファイルを配置して配置します。R_* Cで構成ファイルを読み取るための個別の関数を作成する Rの機能を置き換える「メイン」のC関数を作成する Rラッパーファイルを無視するCライブラリのmakefileを書き込む Cライブラリが独立してRパッケージと同等に機能したら、C関数を別のリポジトリに移動することを検討できます。これはRパッケージの依存関係になります。 質問: この取り組みは見当違いですか? 潜在的な落とし穴を見落としていますか? RライブラリとCライブラリの両方を並行して開発するより良い方法はありますか? Rパッケージから分離されたCライブラリの例はありますか? RとCで同等の関数を比較するためのテストをどのように書けばよいでしょうか?
8 design  testing  c  refactoring  r 

4
GUIをコマンドラインアプリに追加するためのいくつかの標準的な設計方法は何ですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 6年前休業。 単純なCLIで実行される組み込みLinux Cアプリケーションがあります。現在、コマンドラインプログラムと同じ機能を実行するGUIを作成する必要があります。私は熟練したGUIデザイナーではなく、私の経験が深く埋め込まれたCコーディングである場合は大多数です。 私の最初の考えは、qtcreatorを使用してGUIを作成することですが、私が反省しているいくつかの問題があります。 今後は、CLプログラムとGUIプログラムの両方を維持したいと思います。できれば、どちらのモードでも起動できるまったく同じ実行可能ファイルにすることもできます。これが悪い考えでない限り? 私のコードはこれまでのところCにあり、qtはネイティブでc ++です GUIでボタンを押すと、CLIから呼び出すのと同じ関数を呼び出す直接相関関係が欲しい これをクリーンかつ効率的に行うにはどうすればよいですか?これを簡単にする他の技術やライブラリはありますか?もっと良いものがあればqtを使う必要はありません。
8 c  gui  embedded-systems  qt 

4
C#からCへの相互運用にはどのような状況が適切ですか?
C#にunsafeキーワードがある場合、Cライブラリと相互運用することが依然として有益である状況はありますか? 既存のCライブラリを使用して、非常に高速な数値処理、グラフィカルな操作、または行列演算の必要性を理解できました。しかし、たとえばC99でグリーンフィールドDLLを作成し、C#から相互運用するための使用例はありますか? 必要なパフォーマンス特性を得るには、Cにドロップすることが(金属に近いという意味で)唯一の方法である場合があると思います。
8 c#  c  c99 

4
Android開発用のC / C ++を知ることは重要ですか?
Java(C ++ / NDKなし)のみを使用して、高速で美しいAndroidアプリ(3D開発を含む)を構築することはできますか? Android開発者の職位要件(求人)を探すと、C / C ++ / NDKの知識が非常に重要であることがわかりました。一部の企業では、C ++(OpenGL)のみを使用してテストタスクを構築する必要があります。
8 java  c++  c  android 

2
Cでのライブラリのリンクに関する質問
LinuxでGCCコンパイラを使用してC(まだ初心者)を学んでいます。math.hヘッダーで使用されるライブラリなど、一部のライブラリを含める場合は、手動でリンクする必要があることに気付きました。上記の数学ライブラリ-l[library-name]など、さまざまな形式のフラグを使用してライブラリをリンクしてい-lmます。 ただし、コマンドラインからおよび/または切り替えた後GeanyにCode::Blocks、私は気づいCode::Blocks用途は、g++プログラムをコンパイルする代わりに、gcc私は(プロジェクトが間違いなくCとして指定されているにもかかわらず)に慣れていること。また、Code::Blocksそのような数学ライブラリなどのライブラリ-手動でコンパイルする際にリンクするライブラリを必要としないだけで仕事を。 2つの質問があります。 まず、g++コンパイラでCプログラムをコンパイルするのは「悪い」のでしょうか。これまでのところそれは動作するようですが、結局のところ、C ++はCではなく、g++コンパイラーがC ++用であることを確信しています。 次に、g++ライブラリの自動リンクを実行しているのはコンパイラCode::Blocksですか?
8 c  libraries  gcc  linking 

6
インタビューでCとC ++を混在させることはできますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 インタビューでいくつかのコードを書き留めるように依頼された場合、C ++に完全に固執する必要がありますか、それとも、2つを「混合」して簡単なコードを書くことを頭に入れても問題ありませんか? 説明します。「スタック」データ型を作成するように求められた場合、C ++クラスが最適ですが、一部の文字列を解析する必要がある場合、strtok / sscanfはSTLよりもはるかに簡単です。一方、汎用のコンテナーが必要な場合は、STLとテンプレートが適しています。 すべてはCまたはC ++で実行できますが、インタビューではすべてをコーディングしたり、すべての標準/ STL関数を覚えたりすることはできません。許容できるトレードオフとは何ですか?
8 c++  interview  c 

3
Objective-C / iPhone開発に必要なC / C ++の知識はどのくらいですか?
まず、少し背景。私は.Net開発者(C#)であり、Web開発とデスクトップアプリケーションの両方で5年以上の経験があります。私はしばらくの間、iPhoneの開発を調査したいと思っていましたが、何らかの理由で常に別の側面から見逃されていました。ようやく潜在的なプロジェクトが地平線上にあり、今、このことを学ぶために全力で取り組んでいます。 私の質問はこれです。私は学生時代からC / C ++プログラミングを行っていません。それ以来、管理された土地に住んでいます。iOS開発者として成功するために必要な知識はどれくらいありますか?明らかに、メモリ管理は私が意識しなければならないものです(ただし、iOS 5では、ARCと呼ばれるものがあり、私の生活をより簡単にするはずです)。私はC APIについて話しているだけではありません(たとえば、数値の罪を取得するためにsin()関数を呼び出します)。それがGoogleの目的です。私は、平均的なC#開発者が知らない基本的なC / C ++イディオムについて話しています。
8 c#  c  iphone  ios 

6
Cの配列の目的は、ポインターがその仕事を果たした可能性があるときは何ですか?
配列とポインターはCでは同じものではありませんが、それらは関連しており、同様に使用できます。これまでのところ、全員が同意しています。 しかし、ポインタがCに含まれていた理由はわかりません。 配列表記(たとえば、a [5]またはint a [4] = {0,1,2,3};)を削除することは言っていません。これは非常に便利で便利です。しかし、見栄えをよくするために、ポインタと同じように(同じように)同じ表記を使用することもできます。したがって、配列表記は配列を持つ理由ではなく、単に表記です! 私が目にする唯一の違いは、配列は定数ポインタであり、それらが指すメモリのサイズは変更できないことです。しかし、これはポインタを使用して、正確にそれらを一定にすることによっても達成できます(メモリは固定サイズではありませんが、これが問題であるかどうかはわかりません)。 それでは、なぜポインタだけではなく、プログラマにポインタの動作(つまり、定数、定数ではなく、固定サイズ、可変サイズなど)を決定させるのでしょうか。
8 c  pointers 

4
なぜ人々は文字列の先頭に「\ n」を置くのですか?
非常に頻繁に、printfフォーマット文字列が始まるCコードに入ります\n。 printf( "\ nHello"); 私の意見では、これは印刷に関して利点がない(むしろ多くの欠点がある)迷惑なものです"Hello\n"。 印刷された最初の行がで始まる場合'\n'、プログラム出力は(役に立たない)空の行で始まります 最後に印刷された行がで終わっていない場合'\n'、プログラム出力は新しい行で終わりません(端末で出力を読み取るときに役立ちます)。 ほとんどの端末(一般的にはラインバッファーストリーム)では、が検出されると出力がフラッシュされる'\n'ため、'\n'実際に終了してからprintf(または、ストリームがフラッシュされない場合は、おそらく)で終了しない行が画面に表示される可能性があります。 、たとえばプログラムがクラッシュした場合) それで、なぜ人々はこれを好きですか?
8 c  strings 


5
Flashの人を雇うよりも、Cの開発者にFlashを学ばせた方がいいですか?
昨年、私の部門はWebベースのゲームを開発し、Flashを必要としていました。管理が難しかったです。フラッシュの連中は、オフィスでのスキルや人気に関係なくうまくいかなかった。多分それはAS 2.0の日からの偏見であるか、またはCプログラマーは私の部門で別様に物事を行います。わかりません! 例 彼らは悪いフラッシュを雇ったフラッシュガイはツイナーとキーフレームを使用しました(彼らは彼を嫌っていました)。次に、AS 3.0のエキスパートであり、最高のOOP標準に準拠したGOOD Flash Guyを採用しました(彼は彼を気に入りました)。結果は同じで、Cプログラマーはコードのすべてを上書きし、GOOD Flash Guyのコードも上書きしました。 質問 Flash開発者を雇うよりも、C開発者にFlashを学ばせる方が良いですか?Flashの人には害はありません。プロジェクト管理レベルでこれを理解しようとしています。 おかげで、
8 c  flash  actionscript 

3
Cコードの読み取りと理解
Linuxカーネルのコードを理解したいのですが、それを試してみましたが、何が起こっているのかを完全に把握できません(Linuxカーネルのネットワーク部分に集中しています)。一般的に、およびLinuxカーネルのネットワーク部分に固有のC(またはその他のlang)コードを読み取る方法。前もって感謝します
8 c  linux-kernel 

3
プログラミング言語でのマクロサポートは有害と見なされますか?
Cで私の頭に浮かぶ最初の乱用は: #define if while しかし同時に、正しく使用すると非常に便利で強力です。 Common Lispマクロでも同様のことが起こります。 すべてのプログラミング言語がこのようなマクロをサポートしていないのはなぜですか? 彼らは有害だと考えられていますか?

4
Objective-Cはどこから来たのですか?C ++またはC?
このプログラミング言語であるObjective-Cは、iOSアプリケーションの開発に使用されていると聞いています。 OOPの原則を使用していることは知っています。すでにC ++を知っていると、より簡単に学習できますか?名前は?Cプログラミング言語とC ++で使用するOOP原則の組み合わせですか?
8 c++  c  ios  objective-c 

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