問題タブ [linkage]

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 に答える
7379 参照

c - 静的宣言に続く非静的宣言

次の例を検討してください。

最初の例では問題がなかったのに、2番目の例では問題がなかったのはなぜですか。

ファイルスコープ変数(グローバルスコープ)に関する限り、これらには外部リンケージがあり、キーワードが指定されていない場合は静的期間があります。

ありがとうございました

関数のAFAIK、リンケージ、および保存期間は少し異なります。

編集:gcc 4.5.2 -Wall -pedantic --std=c99を使用してコンパイルしてみました

詳細:http ://c-faq.com/decl/static.jd.html 1番目の例もそこで機能しますが、2番目の例は機能しないことがわかります。しかし、何がそんなに違うのかわかりません。

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

c - ブロックスコープリンケージC標準

次の識別子にはリンクがありません。オブジェクトまたは関数以外のものであると宣言された識別子。関数パラメーターとして宣言された識別子。ストレージクラス指定子externなしで宣言されたオブジェクトのブロックスコープ識別子

ストレージクラス指定子externで宣言された識別子の場合、その識別子の前の宣言が表示されるスコープで、前の宣言が内部または外部のリンケージを指定している場合、後の宣言での識別子のリンケージはリンケージと同じです。事前の宣言で指定されています。以前の宣言が表示されていない場合、または以前の宣言でリンケージが指定されていない場合識別子には外部リンケージがあります。

GCCエラー:リンケージのないfollows宣言のextern宣言

誰かが私にこのエラーが発生する理由を説明できますか?

ありがとうございました

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

c++ - ラムダにextern "C"リンケージを含めることはできますか?

これは、私が試したプラットフォームで動作するようです:

しかし、静的メンバー関数を渡すことも、必要がない場合にこれらのプラットフォームで機能しました

これを安全でポータブルにするためにラムダに適切なリンケージを強制する方法はありますか? それとももうですか?

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

android - 2 つ以上の静的ライブラリを Android NDK ツールチェーンとリンクする順序

これは一般的な好奇心です。

おそらく、静的タイプのライブラリがいくつかあると思います:A、B、およびC.今ABC、共有ライブラリDに使用する別のライブラリをリンクしたいと思います.

これがそれらをリンクする正しい方法であると仮定しましょう:

前の行を次のように変更するとどうなりますか。

ライブラリはリンケージで 2 回使用されますABCか、それともその下で何か他のことが起こりますか?

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

c++ - std::piecewise_construct は ODR 違反を引き起こしませんか?

std::piecewise_construct<utility> で定義されている は、宣言されているため、内部リンケージがありconstexprます。std::piecewise_constructヘッダーで を使用すると、ODR に違反する可能性があるのではないかと思います。例えば:

a.hpp

翻訳単位 1

翻訳単位 2

TU 1のstd::piecewise_constructinは、TU 2のfin とは異なるオブジェクトを参照しています。ODR に違反していると思われます。ff

N3290 (おそらく ISO/IEC 14882:2011 も) は、次のケースは 3.2/5 の ODR の例外であると述べています。

オブジェクトが D のすべての定義で同じリテラル型を持ち、オブジェクトが定数式 (5.19) で初期化され、値 (アドレスではない) がオブジェクトが使用され、オブジェクトは D のすべての定義で同じ値を持ちます。

fほとんどすべての要件を満たしていますが、「オブジェクトの値(アドレスではなく)が使用される」というのは曖昧に思えます。状態がないのは事実ですstd::piecewise_construct_tが、 の区分コンストラクターの呼び出しには、引数が であるstd::pairの暗黙的に宣言されたコピー コンストラクターの呼び出しが含まれます。アドレスは「使用済み」ですね。std::piecewise_construct_tconst std::piecewise_construct_t &

とても困惑しています。

参照: http://lists.boost.org/Archives/boost/2007/06/123353.php

0 投票する
0 に答える
511 参照

c++ - 64 ビットでコンパイルするように指示されたときに、sun cc が一部のライブラリーを見つけられない

説明する:

また、次のことにも注意してください。

したがって、このページによると、ld のパス検索は両方のケースで同一である必要がありますが、これは明らかにそうではありません...

誰もこの問題を回避する方法を知っていますか? 前もって感謝します

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

dll - 64ビットdllmingwをリンクする

dllを他のdllへの依存関係とリンクしています。プロジェクトの64ビットバージョンをリンクするのに問題があります。32ビットバージョンでは、mingw32を使用する限りすべて問題ありません。しかし、依存するdllの64ビットバージョンとmingw-w64に切り替えると、次のように表示されます。

'libblabla'は私が依存しているライブラリです。私はそれが64ビットバージョンであり、互換性があるはずだと絶対に確信しています。mingwのバグですか?

また、libファイルを使用してリンクしようとしましたが、libも互換性がないと見なされ、dlltoolによって生成されたものにはインポートテーブルが生成されていません!

私はこれで完全に立ち往生しています。ありがとうございました。

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

sql - SQL:集合論によるレコードのマッチング

私は最近、複雑なSQLクエリに苦労しています。
私は次のテーブルを持っています:

これは基本的に、ユーザーが各プロパティの値を選択するプロジェクトです。各プロパティは、単一値または複数値にすることができます。たとえば、ユーザーはプロパティ{ID = 1、title = Hobbies}に複数の値を選択できますが、プロパティ{ID = 2、title=HairColor}には単一の値を選択する必要があります。

別のテーブルを使用する-[dbo]。[Search_Property_Values_User_Linkage]-{UserID、PropertyID、valueID}必要なプロパティを選択しており、一致するユーザーを見つけることを期待しています。ただし、HairColorなどの値(または複数値)を選択していない場合は、すべてのユーザーを取得する必要があります(HairColorでフィルター処理したくないため)。

これまでのところ簡単ですが、私が解決できないと思われる問題は、複数の値が先にあるか、ユーザー定義の値がない場合です。たとえば、HairColor =BrownとHobbiesIN(basketball、football)のすべてのユーザーが必要です。

いずれかの用語に一致するすべてのユーザー(および、フィルターを選択していないため、他のプロパティを持つユーザー)を取得できますが、条件に完全に一致するユーザーのみを取得することはできません。

コードを言葉にするために、次のようなすべてのユーザーが必要だとしましょう。

  • 私が選択したすべてのプロパティ値に一致する
  • EyesColorなどの他のプロパティがある場合もありますが、フィルタリング値を選択していないため、それらも取得される可能性があります。
  • プロパティがまったく設定されていない可能性がありますが、このプロパティの値を選択していないため、有効です。
  • 私が選択した1つのプロパティだけでなく、選択したすべてのプロパティをグループとして一致させます(バスケットボールが好きで、HairColorに「赤」が付いているユーザーは無効です!

選択されていない値をビット単位で「補完」する仮想テーブルを作成するソリューションに出くわしました。たとえば(実際のコードではありません):

基本的に、[Property] WITH [User]をCROSS-
JOINし、残りのテーブルをLEFT-OUTER-JOINして、選択に一致させます。
すべてのユーザーとそのプロパティへの一致を取得します。茶色の髪のユーザー、バスケットボール/サッカーが好きなユーザーはいますが、両方に一致するユーザー(そしてもちろん私が他の未定義のプロパティ)を持っているユーザーはいないので、これでは十分ではありません。
これは重いですが、問題を分析するためにこれまでに得たものです。

助けていただければ幸いです。10年前の数学の授業で何かが足りないと思います...

編集:db pic:http: //i51.tinypic.com/2n1cfwg.png

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

ejb - NetBeans プラットフォーム クライアント アプリケーションから Weblogic EJB を呼び出している LinkageError

Weblogic サーバーで実行されている EJB を呼び出す NetBeans プラットフォーム アプリケーションで、以下のリンケージ エラーが発生します。問題は、Oracle が提供する wlfullclient.jar (Weblogic Client) と JDK の rt.jar (JDK 6 および 7 で試行) に、同じ CORBA パッケージがいくつか含まれていることです。wlfullclient.jar は、EJB 呼び出しを実行するモジュールにラップされた JAR として含まれています。

同じことを行うスタンドアロンの Java プログラムを作成しましたが、問題なく動作します。

任意の支援をいただければ幸いです。

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

c++ - ブロックスコープでリンケージなし?

ブロックで宣言されたすべての変数に「リンケージなし」がありますか?

例えば:

1:

静的変数を宣言すると:

内部リンケージがありますか、それともリンケージがありませんか? リンケージがない場合、なぜそれを静的にするのですか?

2:

extern を使用するとどうなりますか?

この場合、 のリンケージは何になりますiか?