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

8
CがC ++で不十分な言語の「バインディング」を提供するのはなぜですか?
私は最近、C ++を介してCを使用するタイミングを疑問に思っていました。幸いなことに、誰かがすでに私にそれを打ち負かし、しばらくかかりましたが、私はその質問に対するすべての答えとコメントを消化することができました。 ただし、その投稿の1つの項目は、検証や説明のような例なしで、何度も何度も対処されます。 「Cコードは、ライブラリに複数の言語バインディングが必要な場合に適しています」 それは言い換えです。複数の人がC ++で(いくつかのextern機能を介して)複数の言語バインディングが可能であることを指摘していることに注意する必要がありますが、それでも、その記事全体を読むと、Cが移植性/言語バインディングに理想的であることは明らかです。私の質問は:なぜですか? Cでライブラリを記述すると他の言語でのバインディングや移植性が向上する理由を具体的に説明してください。

8
(ほぼ)任意のプログラミング言語から呼び出すことができる一連の関数を作成するにはどうすればよいですか?
言語バインディング(または他のフレームワーク)を介して他のプログラミング言語からアクセスできるAPIを作成する方法を見つけたいです。これを行うことは可能ですか?もしそうなら、どのプログラミング言語が「クロスランゲージ」APIを書くのに最も適しているでしょうか?私の目標は、使用しているプログラミング言語からアクセスできる単一の関数セットを作成し、各言語でAPI全体を手動で書き直す必要がないようにすることです。
33 api  languages  binding 

6
ほとんどの言語でバインディングがネイティブ機能ではないのはなぜですか?
変数を別の変数または式にバインドするIMHOは、数学の非常に一般的なシナリオです。実際、最初は、多くの学生が割り当て演算子(=)が何らかの拘束力を持つと考えています。しかし、ほとんどの言語では、バインディングはネイティブ機能としてサポートされていません。C#などの一部の言語では、いくつかの条件が満たされている場合にバインドがサポートされる場合があります。 しかし、これをネイティブ機能として実装するIMHOは、次のコードを変更するのと同じくらい簡単でした。 int a,b,sum; sum := a + b; a = 10; b = 20; a++; これに int a,b,sum; a = 10; sum = a + b; b = 20; sum = a + b; a++; sum = a + b; 右側の式に含まれる変数の値を変更するすべての命令の後に、割り当て命令としてバインディング命令を配置することを意味します。この後、冗長な命令のトリミング(またはコンパイル後のアセンブリの最適化)が行われます。 そのため、ほとんどの言語でネイティブにサポートされていない理由。特にCファミリーの言語ですか? 更新: さまざまな意見から、この提案された「バインディング」をより正確に定義すべきだと思います。 これは一方向のバインディングです。合計のみがa + bにバインドされ、その逆はありません。 バインディングのスコープはローカルです。 バインドが確立されると、変更できません。つまり、合計がa …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.