問題タブ [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.

0 投票する
2 に答える
573 参照

java - Java と Php の相互運用性を持つフレームワークはありますか?

Java で作成されたアプリケーションのモジュールがいくつかあります。しかし今、他のすべてのモジュールを PHP で書くように依頼されました。

PHP から Java へ、またはその逆のメソッド呼び出しを可能にするツールはありますか?
そうでない場合、特に Java が PHP とは異なり型付けの強い言語であることを考慮して開発することは可能ですか?

0 投票する
1 に答える
1668 参照

c - C-Fortran文字列の相互運用性

良い一日。おそらく私の問題の定義があまり理解できず、いくつかの不正確さがあることをお詫びします-私はプログラミングに挑戦し始めたばかりです。それでも、私はすべてをわかりやすく説明するために最善を尽くします。

私はFortranで書かれた数学DLLを持っています。

たとえば、関数があります。この関数は、ログファイルの名前をdllに解析して、計算を監視するために使用されます。

通常、MATLABを使用してdllを操作するため、MATLABから直接関数を呼び出すには.mexファイルを使用する必要があります。.mexファイル内には、MATLABとdll間のインターフェイスを提供するCで記述されたインターフェイスコードがあります。たとえば、前述の関数のCインターフェイスは次のとおりです。

次に、loadLibraryとGetProcAddressを使用して関数を取得します。そして、これはうまくいきます。

ただし、今度は、dllを使用する.exeテストファイルをFortranで作成する必要があります。したがって、インポート.libライブラリにリンクしてdllをexeにリンクする必要があります。この実行可能ファイルのもう1つのオプションは、コマンドラインからログファイルの名前をパラメーターとして取得することです。したがって、最初に、次のように、exeファイル内からログファイルのファイル名を渡そうとしました。

これはリリースでは正常に機能しますが、デバッグで「重大(664):範囲外:サブストリングの終了位置「11」がストリングの長さ「1」より大きい」という誤りを返します。しかし、最初はこのバグを見つけられず、コードを書き続けました。これは私が今持っているものです:

これは正常に機能しましたが、log_filenameの最初の1文字しか使用しませんでした(「C:\ abcd \ logfile.log」は「C」に変換されます)。変えたら

character(C_CHAR):: log_filename;

character(C_CHAR):: log_filename(255);

、2つの問題が発生します。1つ目はlog_filenameの長さが255に等しい(ただしトリムで修正できます)、2つ目は-そしてメイン-再び「重大(664):範囲外:部分文字列の終了位置「255」は文字列の長さ「1」よりも大きいです。

変えたら

log_init_status = analyticsLogInit(log_flag、log_filename、log_filename_length);

log_init_status = analyticsLogInit(log_flag、C_LOC(log_filename)、log_filename_length);

、ダミー引数の型が実際のものと異なるというエラーが発生します。

私自身、表示されている664エラーはdllのこの行に起因していると感じています。

some_other_variable = char_parameter(1:1)(1:char_parameter_length);

。私は私のexeファイルに次のようなものを書く必要があります

文字*255:: log_filename;

ではなく

文字::log_filename(255);

しかし、(C_CHAR)を使用してどのように解析できますか?

これらはすべて非常に厄介であり、理解の漏れによるものであることに気づきましたが、これはプログラミングにおける私のほぼ最初の真剣な経験です。

0 投票する
2 に答える
275 参照

javascript - 同じアルゴリズムを複数の異なる言語で書くことを避ける

私は Web 開発者ですが、クライアントとサーバーの両方で同じ機能が必要になることが何度もありました。そのため、JS だけでなく、PHP やその他のサーバー側言語でも記述します。私はこれにうんざりしています。変更する必要がある場合は、両方の場所で変更する必要があります。一部のハンドヘルド デバイスで使用する場合は、Objective-C や Java などを使用してそのコードをもう一度書き直す必要があります。その関数を変更する必要がある場合は、どこでも変更する必要があります。

これに対する解決策はありますか?ajax 経由で Web サービスを呼び出すと、クライアントで遅延が発生します。JS の場合、PHP や Java などからアクセスすることはできません。別の言語の PHP でサービスを使用すると、パフォーマンスの問題になる可能性もあります。

また、db を使用して、または db を使用せずに、一部のパラメータから入力としてそのような関数を出力する必要がある場合もあります。

かなり簡単な解決策があることは知っていますが、私はそれを知りません。私は常にVPSを持っているわけではないので、言語に依存しない解決策を教えてください.

私の質問が実際に stackoverflow.com に属しているのか、programmers.stackexchange.com に属しているのかわからないので、この質問がそこに属している場合は、この質問を閉じるのではなく、programmers.stackexchange.com に転送してください。

0 投票する
1 に答える
7045 参照

javascript - QWebViewでJavaScriptからC++関数を呼び出すことは可能ですか?

QWebViewにWebページをロードしています。そこで、JavaScriptでアプリケーションの関数を呼び出させたいと思います。その関数は、JavaScriptが動的に表示するいくつかの文字列を返します。

QWebViewを使用して実行できますか?基本的に、アプリケーション(C ++の場合)とQWebViewコントロールの間に何らかのブリッジを設けることは可能ですか?

0 投票する
2 に答える
2827 参照

java - Haskell Java 相互運用性

Haskell/Java 相互運用の現在のソリューションは何ですか? Meijer と Finne による Lambada に関する論文を見たことがあります。GCJNI というプロジェクトがありますが、現在は機能していないようです。リンクが壊れています。箱から出して使用できるものはありますか?

0 投票する
2 に答える
702 参照

scala - haskellscalaの相互運用性

私はScalaの初心者であり、オブジェクト指向パラダイムから来ています。Scalaの関数型プログラミングの部分を理解している間、私は純粋な関数型プログラミング言語であるHaskellに導かれました。

SOの質問と回答を調べてみると、Java-Haskellには相互運用性があることがわかりました。

同様にScala-Haskellの相互運用性が存在するかどうかを知りたいのですが。

Haskellで書かれた関数ライブラリをScalaアプリケーションで使用できますか?

ドン・スチュワートの答えによると:それは可能です。

ScalaアプリケーションへのHaskell関数ライブラリの統合は簡単で簡単ですか、それとも複雑な調整が必要ですか?

統合されたHaskell関数ライブラリを使用すると、ScalaアプリケーションはJVMで実行されますか、それとも別の配置が必要になりますか?

0 投票する
1 に答える
838 参照

go - Cユニオンフィールドにアクセスする際の問題

GoのC共用体のフィールドにアクセスしたいのですが。以下は私のソースコードですが、コンパイル時にエラーが発生しました:

ビルドすると、次のようなエラーが発生しました。

bc undefined(タイプ* [8]バイトにはフィールドまたはメソッドcがありません)

ユニオンフィールドにアクセスするための正しいアプローチを教えてくれる人はいますか?

0 投票する
1 に答える
103 参照

c# - .NET でのネイティブな相互運用性のためのコード編成

現在、ネイティブ コードを C# に移植しています。これは、さまざまな構造、デリゲート、列挙、および外部メソッド呼び出しで構成されています。

構造内の一部のフィールドは、特定の定数が適用されることを想定しています。すべてを整理しておく必要があるため、別の場所ではなく構造内に定数をリストすることは論理的に思えますが、マーシャリング中/ネイティブ呼び出しとの相互運用性中にこれが構造にどのような影響を与えるかはわかりません。

たとえば、私の構造が次のように定義されているとします。

このインスタンスの値には、次の定数のいずれかが必要になる場合があります

したがって、これらの構造を次のように書いても安全ですか。

これが実行時にコードにどのように影響するかについて、誰でも光を当てることができますか(もしあれば)。ありがとう。

0 投票する
2 に答える
133 参照

c++ - .NET のプラットフォーム呼び出しで使用される命名規則

Microsoft P/Invoke Interop Assistant ツールを使用して、ネイティブ C/C++ コードからいくつかの構造体、デリゲートなどを生成しています。

これらの 1 つの例は関数ポインター (デリゲート) で、マネージ コードで次の名前に解決されます。

AとW、ExAとExWの違いを説明できる人はいますか?

0 投票する
2 に答える
193 参照

c++ - C 構造体から継承する可能性のある互換性の問題

背景: C プログラムの機能を拡張する動的ライブラリを C++ で実装しています。C プログラムで使用される主要な構造体の 1 つに、独自のライブラリ固有のフィールドを追加したいと考えています。現在、新しいフィールドが必要なときは、C プログラムの開発者にフィールドを追加してほしいと頼んでいます。代わりに次のことができるかどうか疑問に思っていました。

メインプログラムのヘッダファイル:

ヘッダー ファイル:

私は2つの質問があると思います:

1) これも合法ですか?

2) C プログラムがオブジェクトの構造体部分を使用しようとすると、どのような問題が発生しますか?