問題タブ [language-interoperability]
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.
c# - C# プロジェクトで C++ API を使用する
C# プロジェクトで C++ API (一連のヘッダー ファイルと CPP ファイル) を使用することはできますか?
.obj
これらのファイルをまたはファイルにコンパイル.lib
して、Visual C# プロジェクトに含めることは可能でしょうか? に対しても同様のことが行われCrypto++
ます。
可能であれば、これによる欠点はありますか?
コンテキストとインポート情報:
- C++ API は NWCreate と呼ばれ、Autodesk Navisworks によって開発されました。
- Microsoft Visual Studio C# 2010 を使用しています
- C# には大規模な既存のコード ベースがあり、navisworks プラグインで実行する操作の多くは既に C# でコーディングされています (私たちが作成した他のオートデスク プロジェクトから)。したがって、これらすべての操作を C++ で書き直さなければならないということは、車輪の再発明です。
objective-c - swift コードから objc 列挙型の便利なプリントアウトを取得するにはどうすればよいですか?
「返された電子メール foo@bar の検証 (列挙値)」を生成します (これは明らかに実用的ではありません)。これ:
コンパイルしない
VerifyEmailViewController.swift:22:21:「YOIDCVerificationStatus」は「CShort」に変換できません
列挙型は次のように宣言されていますが:
c# - Microsoft 以外のクライアントからの WCF サービス コールバックへのアクセス
WCF は相互運用可能であると想定されており、WCF サービスは Microsoft および Microsoft 以外のクライアントからアクセスできますが、WCF コールバック サービスにアクセスできるのは Microsoft クライアントのみです。問題は、Microsoft 以外のクライアントが WCF コールバック サービスにアクセスできるかどうかです。Microsoft サービスと Microsoft 以外のクライアントの間で双方向チャネルをアクティブにする方法はありますか?
java - Java で C コードを実行する方法
私は Java が優れた高水準言語であることを発見しましたが、その基礎となる言語である C の速度と柔軟性がいくらか欠けています。
Android OS が C と Java で書かれていることを考えると、これら 2 つの言語は互いにうまく補完し合っているように思われます。
CコードをJavaプログラムにインポートするにはどうすればよいですか?
PS。Android OS でこれを行う方法を知っていればボーナス ポイントです。
java - プラットフォームに依存しない Java <-> C# 相互運用性
Java プロジェクト内で既存の C# ソースを使用したいと考えています。これまでのところ、Java Native Interface (JNI) などを使用するのは非常に簡単なので、これは大きな問題にはなりません。問題は、ソフトウェアが Windows 以外の OS でも実行されることです。そのため、C# ソースを Mono でコンパイルして、Linux などで実行可能にすることができます。しかし、Java 内での統合はどうでしょうか? JNI または C# <-> Java 相互運用性のための COM ベースのソリューションは OS に依存し、Windows などでのみ機能します。
考えられる解決策の 1 つは、Web サービスの実装です。この問題を解決する方法の別のアイデアはありますか? 代替の提案に非常に感謝します!
どうもありがとう!
よろしく
c++ - GNU Fortran と C の相互運用性
現在、Windows で Intel ツールを使用してコンパイルされた大規模な C/Fortran 混合コード ベースがあります。Linux 上の GNU ツールに移植するよう依頼されました。多かれ少なかれランダムに、バージョン 4.8 を選択しました。
C 関数が Fortran から呼び出される場合、相互運用性は次のようになります。
インテル Fortran コンパイラーは常に大文字のシンボルを生成するため、これは正常に機能します。しかし、GNU Fortran コンパイラは常に小文字のシンボルを生成するため、リンカ エラーが発生します。
-fcase-upper
GNU Fortran コンパイラには、大文字のシンボルを生成するオプションが呼び出されていましたが、これは構成可能すぎて誰にとっても適切ではないようで、削除されました (正確な時期はわかりません)。
この機能を使用してISO_C_BINDING
、コンパイラに大文字と小文字を区別する名前を強制的に生成させることができます。
これによりリンカー エラーは解決されますが、文字列パラメーターの処理方法が変わります。長さパラメーターは提供されなくなりました。したがって、このメソッドを使用するには、現在この方法で動作するすべての関数のインターフェイス定義を追加するだけでなく、そのような関数を呼び出すたびに文字列がどのように処理されるかを変更する必要があります。 null で終了します。
そのような関数をすべて小文字にすることもできますが、もちろん、インテル コンパイラーは引き続き大文字のシンボルを生成するため、既存のビルドが壊れてしまいます。
そのような関数は約 2,000 あるので、実行不可能な量の作業に思えます。そこで、私の質問は次のとおりです。関数呼び出しのセマンティクスを変更せず、インテル® コンパイラーを使用して既存のビルドを壊さずに、リンク エラーを解決するにはどうすればよいですか?