問題タブ [visual-c++-6]
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.
visual-c++ - コンパイルプロセス
コンパイルの仕組みを説明できる人はいますか?
コンパイルがどのように機能するのか理解できないようです..
より具体的には、ここに例を示します.Lua状態をロードするために、MSVC++ 6でいくつかのコードを記述しようとしています..
私はすでに:
- ライブラリとインクルード ファイルの追加ディレクトリを適切なディレクトリに設定します。
- extern "C" を使用 (Lua は C のみと聞いているため)
正しいヘッダファイルをインクルード
しかし、未解決の外部シンボルに関する MSVC++6 のエラーがまだ発生しています (使用した Lua 関数の場合)。
この問題を解決して先に進む方法を知りたいのですが、関連する基本的なプロセスを理解するようになった方がはるかに良いと思います. 私が知りたいのはプロセスです..次のようになります。
ステップ1:
- 入力: ソースコード
- プロセス: 解析 (おそらくここに詳細を追加します)
- 出力: ここに出力されるものは何でも..
ステップ2:
- 入力: ステップ 1 の出力に加えて、他に必要なもの (ライブラリ? DLL? .so? .lib? )
- プロセス: 入力に対して行われることすべて
- 出力: 出力されるものは何でも
等々..
ありがとう..
おそらく、これはシンボルとは何か、「リンク」とは何か、「オブジェクト」コードとは何か、または何かを説明するでしょう..
ありがとう..初心者でごめんなさい..
PS これは言語固有である必要はありません..しかし、あなたが最も慣れている言語で自由に表現してください.. :)
編集:とにかく、エラーを解決することができました.libファイルをプロジェクトに手動で追加する必要があることがわかりました; IDE 設定またはプロジェクト設定でライブラリ ディレクトリ (.lib が存在する場所) を指定するだけでは機能しません。
ただし、以下の回答は、プロセスをよりよく理解するのに多少役立ちました。どうもありがとう!.. まだ完全なガイドを書きたい人がいたら、どうぞ.. :)
編集: 追加の参照用に、1 人の著者 (Mike Diehl) による 2 つの記事を見つけて、これを非常によく説明しています.. :) コンパイル プロセスの調査: パート 1 コンパイル プロセスの調査: パート 2
c++ - 関数がVC6およびVC7でvoidリターンタイプを持っているかどうかを判断する方法が必要
次のC++コードは、GNU g ++、LLVM、およびMicrosoft VC6とVC7を除いて、私がスローした他のすべてのC++コンパイラに対して正しくコンパイルおよび実行されます。
VC6およびVC7の場合、コンパイルに失敗し、エラーが発生します。
どのコンパイラが正しいかというメリットを主張するのではなく、VC6とVC7を使用して、関数がvoidリターン型を持っているかどうかをテンプレート関数からどのように判断できますか?
c++ - 「for ループ」の終了条件は VC++ 6 で更新されますか?
終了条件部分「stlVector.size()」は「stlVector.erase(...)」を考慮していますか?つまり、 stlVector. size() はループの繰り返しごとに更新されますか? 今はテストできないので、ここに質問を投稿しました。
事前にthx!
よろしくお願いします、
正統派
c++ - いずれにせよ new は NULL を返しますか?
C++ 標準によれば、new がメモリの割り当てに失敗した場合、std::bad_alloc 例外がスローされるはずです。しかし、VC6 (または CRT 実装?) などの一部のコンパイラはこれに準拠していないと聞いています。これは本当ですか ?新しいステートメントごとに NULL をチェックすると、コードが非常に見苦しく見えるため、これを求めています。
visual-c++ - MFC アプリケーションを国際化する
ここには大規模な MFC アプリケーションがいくつかありますが、それらを他の形式に変換することは問題外です。私たちは他の市場にも拡大しており、アプリを他の言語や文化で動作させたいと考えています.
これまでのところ、Visual C++ バージョン 6 をどうするかについての言及を時折見つけましたが、MFC の新しいバージョンには追加の関連機能があるとの言及が 1 つあります。MSDN を検索すると、アプリを Unicode に変換する方法が表示されます。これは既に行っています。MSDN では、言語が Unicode になったら言語を多言語化する方法については何も見つかりませんでした。Google を使用した古いものはいくつかあり、VC++6 を使用した国際化に関する本は 1 冊しかありませんでした。(現在、XP および Vista で Visual Studio 2008 を使用しています。)
私は自分の Google-fu の強さについて主張するつもりはありません。
VC++6 のメソッドを使用するのは合理的ですか、それとも新しい機能を使用する必要がありますか?
それ以降に機能を使用する必要がある場合、それらへの参照はどこにありますか?
ロケールの設定、すべての文字列のリソースへの変換、異なる言語でのリソースの複製以外に注意すべきことはありますか?
私は .NET の国際化についてもっと多くのことを見つけることができますが、私は .NET の経験がありません。VC++ と MFC に適用できるものは何ですか?
編集: Unicode 文字列を文字列テーブル リソースに入れようとして、問題が発生しました。(私が知る限り、Unicode 文字列は、L"0x0034" 形式で、テキスト エディターを使用して .rc ファイルに入力する必要があります。これを行うリソース エディターの方法は見つかりませんでした。) それに関するヒントはありますか? VC++ と MFC を使用して VS2008 で使用できる他のリソースはありますか?
編集: Microsoft フォーラムの誰かが、問題のある .rc ファイルをメモ帳で開き、Unicode で保存することを提案しました。残念ながら、文字列テーブルは日本語で動作しているように見えますが、これはダイアログを修正していないようです。
visual-studio-2008 - 古い Visual Studio で新しい MS C++ コンパイラを使用する
古い IDE (Visual C 6.0) で最近の MS C++ コンパイラ (TR1 が必要) を使用したい。無料のコマンド ライン MS C++ コンパイラのみをダウンロードできると聞きました。出来ますか?古い IDE で新しいコンパイラを使用できますか? もしそうなら、どのような追加の問題が発生する可能性がありますか?
私はVS6に精通しているため、VS6を維持したいと考えています。TR1 の MS 実装を使用したいのは、Boost よりも高速であると期待しているからです。
c++ - strlen() が返されるように見えるのはなぜですかVC++ デバッガで?
const char*
strlen に引数として渡された型の C++ の文字列がありますが、void が返されます。
それは次のようになります
ありがとう..
編集:いくつかのチェックを行いました、
それでも無効になります..なぜですか?
編集:ここに画像があります http://img14.imageshack.us/img14/1808/strlen.png
以前はわかりづらくてすみません。フォーマットがうまくいきませんでした。とにかく、混乱は Evan Teran と Vlad Romascanu の両方によって解決されました。Brian R. Bondy の回答もご覧ください。
ありがとう。気軽に閉めてください。
mfc - CComboBox データを別の CComboBox にコピーするには?
CComboBox データを別の CComboBox にコピーするには?