問題タブ [gnustep]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - gnustep 用の目的の c プロファイラー
Linux で実行される Objective-C 用のプロファイラはありますか。
GNUstep 環境を使用しています。
GNUstep の Web サイトで検索しましたが、プロファイラーについては何もありません。
iphone - ubuntuでObjectiveCコードをコンパイルする方法
私はiPhoneプログラミングの初心者です。コンパイルしようとしています(ubuntu)。
コンパイルしましたが、次のエラーが発生します
参考としてhttp://ubuntuforums.org/showthread.php?p=5593608をフォローしました。
NSException.hの#errorディレクティブにコメントし、問題を解決しました。今、私は新しいエラーを受け取っています。
objective-c - Objective-C: インクリメントの混合方法 - i++ と i+=1
私はgithubでGNUstepプロジェクトを閲覧していて、この小さなループに出くわしました...
すべてではありませんが、ほとんどの増分操作は、ソース コードで' +=1 ' を使用して実行されました。それが一貫していれば意味があります。それが一貫しているなら、私はそれを単純な個人的な好み、または読みやすさにまで分類します.
ただし、1 人の人物が取り組んでいるように見えるプロジェクト (結局のところ、単純な数独ゲームです) の場合、インクリメンタル操作のスタイルが異なることに少し興味があります。
今、私はこの質問を読み、私の疑いを確認しました -コンパイラは、使用されている構文に関係なく、同じ低レベル コードを生成する必要があります。
これは、ベスト プラクティスなのかスタイル ガイドラインなのかを考えさせられましたが、同じコーダーがインクリメントの両方の方法を使用しています。個人的に言えば、私は何も考えずに ' i++ ' を使用しています。これはどのコーダーにとっても自然なことだと思います。ほとんど考えずに入力するだけです。
何か足りないのですか、それとも「ただの理由」ですか? 両方のタイプのインクリメントを混在させる理由はありますか? 両方が同じ ASM にコンパイルされる場合、一方が他方よりも優れたパフォーマンスを発揮する状況はないと思います。
objective-c - Linux コンパイル エラーでの Objective-C
これを行う方法についてはかなりの数のチュートリアルがあるようですが、それぞれわずかに異なります。誰かが私が受け取っているエラーメッセージを認識し、正しい方向に向けてくれることを願っています.
私のコードは、うーんです:
コンパイルする前に、コンソールに次のように入力します。
私はコンパイルしようとします:
そして得る:
誰かが私を正しい方向に向けることができますか?
ティア
objective-c - エラー: Linux 上の Objective-C でコンパイルするときの 'struct StructName' メッセージの再定義
Ubuntu 12 Linux で Objective-C コードをコンパイルしようとしています。
main.m は次のようになります。
CEFoo.h には、次の定義があります。
コンパイルに行くとき
次のメッセージが表示されます。
これは、構造体を2回再定義するか、インポートの代わりにインクルードを使用する場合の再帰インポートによって引き起こされる可能性があることを読みました。
定義の 1 つのオカレンスのみを表示します。
また、プロジェクト内のすべてのインクルードステートメントを検索しましたが、インクルードとインポートの明らかな使用、または CEFoo.h のデュアルインクルード/インポート (複数回定義/インポートされている構造を含むファイル) は見つかりませんでした。 .
この原因をさらに突き止めるにはどうすればよいでしょうか。私はそれを2回インポートしていると思います-もしそうなら、初めて定義された詳細またはログを介してそれを見る方法はありますか?
これをトラブルシューティングするために私ができる他のアイデアはありますか?
ティア
objective-c - clang コンパイル中に objc.h が見つからない
私はUbuntu 12を使用しています。
clang を使用して Objective-C の hello_world アプリをコンパイルしようとしています。これはソースです:
私はこのコマンドラインを使用します:
次のエラーが表示されます。
gcc を使用した同じコマンドラインは問題なく動作します。
この見つからない objc.h エラーを修正する方法はありますか?
objective-c - Windows での目的 c の実行
GNUstep と minGW をインストールしました。私のコードはエラーなしでコンパイルされているようですが、実行しようとすると次のようになります。
gnustep-base-1_24.dll がありません
Windows GNUStep を使用しています。
注: GNUstep/system/Tools ディレクトリを PATH に追加しました
objective-c - Gnustep - ビデオ録画アプリケーション
私は Mac を所有していません。Windows の gnustep で完全に機能するビデオ録画アプリを作成し、必要なプロセスを実行して iPad アプリとして展開することは可能ですか?
objective-c - これは、Objective-C の NSThread で受け入れられるイディオムですか?
私はプロジェクトの一部として書いている小さなエージェント ベースのモデリング フレームワークを持っています。さまざまなエージェントはすべて独自のスレッドで実行され、スーパーバイザー クラスがそれらのライフサイクルを制御します。したがって、スーパーバイザー クラスはこれらのスレッドをキャンセルできます。isCancelled
にメソッドがあることは知っていNSThread
ます。それを使用すると、次のイディオムが受け入れられます。
objective-c - Objective-C でのエージェント ベースのモデリング プロジェクトの同期とスレッド化
まず、私は Objective-C の初心者です。私のバックグラウンドのほとんどは Java です。また、ほとんどの Objective-C に関する質問は Cocoa に関するものであるため、これはGNUStepに関するものであることを指摘しておく必要があります。
学校のプロジェクトのために、単純なエージェント ベースのモデリング フレームワークを作成しています。これらのフレームワークは通常、複雑なシステム (病気の蔓延など) をモデル化するために使用されます。私のフレームワークには、ワールドとバグという 2 つの主要なオブジェクトがあります。世界は「レイヤー」で構成され、各レイヤーはトロイダル グリッドに関連付けられています。世界には虫が住むことができ、それぞれの虫には x 座標と y 座標、および虫が属するレイヤーがあります。
私の一般的な考えは、世界にバグを追加し、バグごとにスレッドを起動して、バグがやりたいようにすることです。メイン クラスをサブクラス化し、プロトコルで定義されたメソッドBug
を実装することで、あらゆる種類のバグを作成できます。act
このようにして、さまざまな種類のカスタム バグとカスタム動作を作成できます。バグは、世界と相互にやり取りできる必要があります (世界からバグを削除したり、世界にバグを追加したり、自分自身を移動したりします)。ご覧のとおり、これはすぐにマルチスレッド地獄に向かっています。
現在、私はたくさんの@synchronized
ブロックを持っており、世界が常に一貫した状態に保たれるようにするのに苦労しています。バグは世界と通信して行動する必要があり、その逆も同様であるため、これは特に困難になります。RandomBug
世界中をランダムに移動するa という単純なバグを実装しようとしています。状態が破損したり無効になったりする可能性がある潜在的な問題が見られるため、これでさえ困難であることが証明されています。
と を調べ始めたのはNSOperation
、NSOperationQueue
これにより作業が簡単になる可能性があるためです。これに関して2つの質問があります。
NSOperation
s を繰り返し (つまり、特定の間隔で)実行する簡単な方法はありますか。- スレッドの最大同時操作数を 1 に設定した場合でも、
@synchronized
ブロックは必要ですか? ある時点で世界とやり取りするスレッドは 1 つだけではありませんか? - この種の問題 (複数のスレッドが 1 つの共有リソースと繰り返し対話する) に取り組むためのより良い方法はありますか?
- スレッド化を完全にやめて、単純に世界のバグを反復処理し、ランダムにアクティブ化する必要がありますか?