問題タブ [string-table]

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 投票する
1 に答える
457 参照

vb.net - 文字列テーブルの正確なリソースタイプ名

文字列テーブルリソースタイプ(BITMAPなど)の正確な名前は何ですか?VisualBasicを使用しています。

検索しましたが、何も見つかりません。

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

winapi - win32ネイティブexeの文字列テーブルタイプのリソースを変更します

exeリソース内の文字列を変更したい。そのリソースタイプは文字列テーブルですが、UpdateResource関数を使用するとき、どのパラメーターを渡す必要があるかわからないため、文字列テーブル内の正確なrawを指しています。

タイプパラメータはですRT_STRINGが、何に送信すればよいMAKEINTRESOURCEW()ですか?

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

c - UpdateResource による STRING TABLE の更新 (複数の文字列の追加)

重複の可能性:
UpdateResource を使用した文字列テーブルの更新

UpdateResources を介してバイナリの STRING TABLE を更新しようとしています。現在、私のコードは単一の文字列のみを追加しますが、複数のエントリを文字列テーブルに追加したいと考えています。

これが私のコードです:

`を編集しようとしました

`に

改行文字を無駄に模倣する試みとして。

何か不足していますか?http://msdn.microsoft.com/en-us/library/windows/desktop/aa381050(v=vs.85).aspxを徹底的に調べましたが、重要なポイントを見逃しているようには見えません。どの機能も失敗していません。

0 投票する
4 に答える
14976 参照

c++ - 静的文字列リテラル テーブル?

文字列のグローバル&静的テーブルを作成するC++での正しい方法は何ですか?

「グローバル」とは、ヘッダーを含む任意のファイルから使用できることを意味します。ただし、実行時に作成されたシングルトン オブジェクトの一部ではありません。

「静的」とは、実行時間の設定が可能な限り少ないことを意味します。読み取り専用メモリ ページのデータ。アプリごとに 1 つのデータ インスタンスのみ。

「文字列」とは、つまり、ヌルで終了する文字の配列は問題ありません。std::string はいいでしょうが、上記の点ではできないと思います。正しい?

「テーブル」とは、インデックス可能な配列を意味します。したがって、テーブル自体ではないと思います。しかし、私はこの点で柔軟です。アイデアを受け入れる。

「C++」とは、C ではなく C++ を意味します (更新: C++11 ではなく C++98)。

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

linux - ELF ファイルの .init セクションの検索

セクションを見つけるにはどうすればよい.initですか? セクション ヘッダーにはフィールドがありますElf32_Word sh_name。したがって、すべてのセクションを調べて、名前のセクションを見つける必要があると思いますが、文字の配列ではありません.initsh_name文字列テーブルのエントリのインデックスです。文字列テーブルはどこにありますか? elfHdr.e_shstrndxELF ヘッダーにフィールドがあります。String Table が配置されているセクションのインデックスです。したがって、文字列テーブルのオフセットを計算するには、以下で説明する式を使用します。

しかし、判明したオフセットは文字列テーブルの正しいオフセットではありません。いろいろなファイルで試しました。セクションかどうかを判断する別の方法があるかもしれ.initませんか?

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

c++ - C++ で LoadString() メソッドが機能しない

作業中の DLL ファイルの Strin テーブルから文字列を読み込もうとしています。これは、文字列を にロードすることになっている関数ですstd::wstring(私のプロジェクトは Unicode charset を使用しているため)。

メソッドを診断するために、最後の 3 行を作成しました。の出力はAfxMessageBox()です0

どこが間違っていますか?

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

c - 4 回目の反復で C クラッシュの realloc 文字列テーブル

この問題に関してここにはいくつかの回答がありましたが、次のコードにはまだ適合しませんでしsegfault4th iteration

どんな助けでも大歓迎です!

コードサンプルとvalgrind出力を追加するコメントを読んだ後:

次の行の読み取り (行の長さは 32):libqosadaptor libqosadaptor.%::

要求された再割り当てバイト:8 outputBuffer=0x4C4F360 ==8347== サイズ 1 の無効な書き込み ==8347== 0x4A095CC: strncpy (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==8347== by 0x400DFC: processFile (makefileUpgrade.c:83) ==8347== by 0x400F76: main (makefileUpgrade.c:113) ==8347== アドレス 0x4c4f3d1 はサイズ 33 のブロックの後に 0 バイト alloc'd ==8347== at 0x4A0645D: malloc (/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so 内) ==8347== by 0x400DC4: processFile (makefileUpgrade.c:82) ==8347== by 0x400F76: main (makefileUpgrade.c :113)

--------------------------------------------- 次の行を読む(行長さは 87 です): $(SHOW) $(MAKE) $(MAKEOPTS) REL_DIR=adaptor/qos -C $(ROOT)/adaptor/qos $* -f makefile

valgrind: m_mallocfree.c:277 (mk_plain_bszB): アサーション 'bszB != 0' が失敗しました。valgrind: これはおそらく、プログラムがヒープ ブロックの末尾を超えて誤って書き込み、ヒープ メタデータを破損したことが原因です。Memcheck によって報告された無効な書き込みを修正すると、このアサーションの失敗はおそらくなくなります。これをバグとして報告する前に、それを試してください。

==8347== 0x3805028C: ??? (/usr/lib64/valgrind/memcheck-amd64-linux 内) ==8347== by 0x380503E6: ??? (/usr/lib64/valgrind/memcheck-amd64-linux 内) ==8347== by 0x3805AA4A: ??? (/usr/lib64/valgrind/memcheck-amd64-linux 内) ==8347== by 0x3805C9B7: ??? (/usr/lib64/valgrind/memcheck-amd64-linux 内) ==8347== by 0x38021865: ??? (/usr/lib64/valgrind/memcheck-amd64-linux 内) ==8347== by 0x3809C5C2: ??? (/usr/lib64/valgrind/memcheck-amd64-linux 内) ==8347== by 0x380AB21C: ??? (/usr/lib64/valgrind/memcheck-amd64-linux 内)

スケジュールされたステータス: running_tid=1

スレッド 1: status = VgTs_Runnable ==8347== at 0x4A083AA: realloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==8347== by 0x400D54: processFile (makefileUpgrade.c:80) == 8347== by 0x400F76: メイン (makefileUpgrade.c:113)

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

delphi - Delphi 2010: .rc ファイルで定義されたリソース文字列の一部が、結果の .exe にありません

.RC ​​ファイルの一部のリソースは、.RC ファイルで指定された ID を持つ結果の .exe では使用できません。ID 10000、10100 などのリソース文字列を含む RC ファイルがあります。何らかの理由で、ID 10000 (LoadStr(10000)) のリソースをロードすると、別の文字列 ('Invalid field type.' - midas.rc で宣言されている) がロードされます。 VCL からのもので、同じ ID を持っています)。

同じ ID を持つリソースは、ビルド中に "[Error] WARNING. Duplicate resource(s)" につながると想定しました。ただし、リンカー関連の警告はありません。

ps私はDelphi 2010を使用しています。

アップデート:

  • この問題の回避策は、id を 10000 から別のものに変更することです。10050、例えば

質問:

  • 重複リソースに関する警告がないのはなぜですか?
  • 将来その問題を防ぐために何ができるでしょうか?

株式会社マイプロジェクト

myproject.RC ファイル

Rc ファイルは myproject.res ファイルにコンパイルされます。結果の.resファイルには、ID 10000の正しい文字列「LV」があります(リソースエディターで確認しました)。

Delphi coude では、LoadStr 関数を使用してユニットの初期化部分にリソースがロードされます。

likeThat.pas: