No.4ベストアンサー
- 回答日時:
extern "C"を使っているのはCPPファイルですか?
またextern "C"が何をするか理解されていますか?
extern "C"の意味を理解なされていないのであれば素直に諦めるか拡張子をCPPで統一してProjectに登録した方が楽でしょう。
C++では関数名に引数の種類や個数の情報を付与し、オーバーロードを実現します。
extern "C"はその後に続く定義関数のlinkage命名方法をCと同じ命名規約で名前付けします。
つまりその中にオーバーロードした関数などがあると(命名規約が変わり一意に関数が特定できないため)旨くリンクできなくなる可能性があります(実際に試した事はないんでどうなるかは不明ですが)。
なのでc拡張子のファイルをcppにするだけでも命名規約はCPPにそろうため旨く動くはずです。
どうしてもextern "C"を使うのであればMSDNの
VisualC++ドキュメント-VisualC++ユーザーズガイド-VisualC++プログラマーズガイド-プログラム機能の追加-詳細-混合言語によるプログラミング-C++を使った混合言語によるプログラミング
を読みましょう。
No.2
- 回答日時:
VC++と言う事ですが、
cファイルを既存のC++のワークスペースに取り込みたいんですよね?
⇒"c"ファイルの拡張子を"cpp"に変更して普通に組み込めませんか?
それとも逆をしようとしているのですか?
※エラー箇所がわかっているなら原因はわかると思うので、
修正の方向ではだめなのですか?
この回答への補足
元々はCで作成したDLLとCPPで作成したDLLと別ファイルだったのですが、
呼び元の問題でDLLを1つにまとめたいとのことでチャレンジしています。
当初は安易に全ソース取り込みDLLを作成すればできると考えていた
のですが、外部宣言のextern "C"と記述するとエラーが発生してしまいます。(Cファイルがあるから?)
"C"をはずせばDLLは作成できるのですが、DLL内を見ると外部関数名に"?"がついてしまいます。
拡張子だけ変えれば済む問題なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- フリーソフト cygewf-2.dllがない、と表示され、ダウンロードしたファイルが動作しない 2 2023/03/27 11:05
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- 画像編集・動画編集・音楽編集 inkscapeで作成した図の保存の仕方とその保存したファイルの編集の仕方 1 2022/09/22 09:33
- Excel(エクセル) マクロの付いたExcelが開けません 3 2023/02/01 10:54
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- iCloud Appleのファイル消去復元についてです。 大事なファイルを消してしまったかもしれません。 使ってい 1 2022/12/26 23:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
csvファイルを開かずに文字を検...
-
【C&C++】指定行のみファイル書...
-
ロックファイルが消える
-
テキストファイルの最終行を削...
-
[VBScript]ファイルの入出力を...
-
フレームワークについて
-
fopenできる上限の変更
-
大きいサイズのテキストファイ...
-
分割コンパイルの#defineについて
-
処理負荷特定で考えられる要因...
-
VBに、Cのincludeのようなもの...
-
hostsファイルの登録MAX数
-
2つのCSVファイルの比較
-
CSVファイルへの保存の際、デー...
-
gccでリソースファイルを使わな...
-
error C2065: error C2057: が...
-
VC++でのiniファイルの読み書き
-
ファイル名の先頭にアンダース...
-
Access2010の最適化設定について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
dataファイルをxtxファイルにす...
-
C言語初心者の質問失礼します。
-
csvファイルを開かずに文字を検...
-
テキストファイルの最終行を削...
-
ファイル名の先頭にアンダース...
-
大きいサイズのテキストファイ...
-
グローバル変数のよくない使い...
-
fopenできる上限の変更
-
ハッシュの計算時間について
-
VBに、Cのincludeのようなもの...
-
CSVファイルへの保存の際、デー...
-
分割コンパイルの#defineについて
-
VBAにてEXCEL以外のファイル(テ...
-
iniファイルに追記がしたいです。
-
ドラッグアンドドロップでファ...
-
SGファイルって何ですか?
-
同じ名前のファイルを作った場...
-
アドレス帳WABファイルをサンダ...
-
ダイアログボックスで複数フォ...
-
「VBScript」ADODB.Streamにお...
おすすめ情報