C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■102355 / 1階層)  C++にC#を加えてひとつのexeに出来ますか
□投稿者/ 魔界の仮面弁士 (3689回)-(2023/09/06(Wed) 17:28:11)
No102354 (hojoR さん) に返信
> C++で作られた既存のexeがあるのですが、これにC#のコードを加え、ひとつのexeにすることは可能ですか?

無茶じゃないですかね。

やったことが無いので想像ですが、C++/CLI ではなく、MFC ということになると、
C# 製の DLL/EXE を COM 登録して呼び出すか、あるいは
github.com/3F/DllExport か www.nuget.org/packages/UnmanagedExports などで
関数ポインタを公開して呼び出すような実装になりますが…。
https://qiita.com/Midoliy/items/58d56e202f104ebf867a
https://qiita.com/s_Pure/items/95117fdf47ade5beb3de

さらにそれを「ひとつのexeにする」という要件まで入るとなると…。
ILMerge を使うこともできそうにないので、C# ライブラリを
MFC アプリのバイナリリソースとして埋め込んでおいて、
一時フォルダーに展開してから呼び出すとか、ですかね。
結局は別ファイルになっちゃいますが。


> ・C++からC#スレッドを関数のように呼び出すイメージです。
>  (マルチタスクはしません)
> ・ひとつのexeにしたい理由
>  メモリに常駐させているデータをC++とC#で共有したいためです。
>  共有データは、C++とC#どちらからも読み/書きし、サイズの変化(リストの要素増減)もあります。

それぞれ別の exe にしておいて、名前付き共有メモリや名前付きパイプ等を使って
プロセス間通信を行う…とかでは駄目なんですかね?
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←C++にC#を加えてひとつのexeに出来ますか /hojoR →Re[2]: C++にC#を加えてひとつのexeに出来ますか /radian
 
上記関連ツリー

C++にC#を加えてひとつのexeに出来ますか / hojoR (23/09/06(Wed) 17:01) #102354
C++にC#を加えてひとつのexeに出来ますか / 魔界の仮面弁士 (23/09/06(Wed) 17:28) #102355 ←Now
  └ Re[2]: C++にC#を加えてひとつのexeに出来ますか / radian (23/09/06(Wed) 18:58) #102356
    └ Re[3]: C++にC#を加えてひとつのexeに出来ますか / とっちゃん (23/09/06(Wed) 21:15) #102357
      └ Re[4]: C++にC#を加えてひとつのexeに出来ますか / hojoR (23/09/07(Thu) 11:15) #102359
        ├ Re[5]: C++にC#を加えてひとつのexeに出来ますか / radian (23/09/07(Thu) 15:03) #102360
        └ Re[5]: C++にC#を加えてひとつのexeに出来ますか / とっちゃん (23/09/07(Thu) 15:46) #102361
          └ Re[6]: C++にC#を加えてひとつのexeに出来ますか / hojoR (23/09/08(Fri) 09:45) #102364 解決済み
            └ Re[7]: C++にC#を加えてひとつのexeに出来ますか / HattariB (23/09/08(Fri) 12:17) #102365 解決済み
              └ Re[8]: C++にC#を加えてひとつのexeに出来ますか / hojoR (23/09/08(Fri) 20:19) #102366
                └ Re[9]: C++にC#を加えてひとつのexeに出来ますか / hojoR (23/09/11(Mon) 16:01) #102368 解決済み
                  └ Re[10]: C++にC#を加えてひとつのexeに出来ますか / ななし (23/09/28(Thu) 11:44) #102436

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信