Discussion:
C言語、C#言語、C++言語の共存
(too old to reply)
C#Sharp.com
2005-06-17 03:35:02 UTC
Permalink
いつもお世話になります。
下記1)、2)で記載されたソースファイルを.NET環境で開発することを検討しています。
そこで、下記ソースファイルにC#のファイルを追加し、Windowsアプリケーション開発を行ないたいのですが、
可能でしょうか?
その他、方法等があればご教示お願いします。

1)C言語で記載されたソースファイル
2)C++言語で記載されたソースファイル

以上
Kaoru Kodaka
2005-06-17 03:58:05 UTC
Permalink
$B$+$*$/(B $B$G$9!#(B

$B!t(BVisual Studio $B$r;H$&$3$H$rA[Dj$7$F$$$^$9!#(B

On Thu, 16 Jun 2005 20:35:02 -0700
$B2<5-#1!K!"#2!K$G5-:\$5$l$?%=!<%9%U%!%$%k$r(B.NET$B4D6-$G3+H/$9(B
$B$k$3$H$r8!F$$7$F$$$^$9!#(B
$B$=$l$OIaDL$K(B Visual C++ $B$r;H$($P2DG=$G$9$M!#(B
$B$=$3$G!"2<5-%=!<%9%U%!%$%k$K(BC#$B$N%U%!%$%k$rDI2C$7!"(BWindows
$B%"%W%j%1!<%7%g%s3+H/$r9T$J$$$?$$$N$G$9$,!"2DG=$G$7$g$&$+!)(B
$BIT2DG=$G$9!#(B
$B$=$NB>!"J}K!Ey$,$"$l$P$465<($*4j$$$7$^$9!#(B
($B%=!<%9(B)$B%U%!%$%k!"%W%m%8%'%/%H!"%=%j%e!<%7%g%s$J$I$NC10L$K$D(B
$B$$$F!"$-$A$s$HM}2r$7$F$*$-$^$7$g$&!#(B

$B%=%j%e!<%7%g%s$NCf$K!"(BC#$B!"(BC/C++ $B$N%W%m%8%'%/%H$r$=$l$>$lAH$_(B
$B9~$`$3$H$O2DG=$G$9$,!"$=$l0J30$OL5M}$G$9!#(B

---
MVP kaok = MVP.ChangeMvpCategory("for C# 2004-2006.");
kaok.Web = "http://www.antoine.st/";
C#Sharp.com
2005-06-17 06:41:10 UTC
Permalink
回答ありがとうございます��
下記からすると、ソリューションの中にC++をのプロジェクト、C#を使用したプロジェクトを作成し、C#からまたは、C++のプロジェクトからそれぞれ、関数をコールすれば、可能となるとのことでしょうか?
dllを作成すればコールできると思いますが、できれば、dll化を行わず実現したく
ご教示お願いします。
ソリューションの中に、C#、C/C++ のプロジェクトをそれぞれ組み
込むことは可能ですが、それ以外は無理です。
Kaoru Kodaka
2005-06-17 07:05:36 UTC
Permalink
$B$+$*$/(B $B$G$9!#(B

On Thu, 16 Jun 2005 23:41:10 -0700
$B2<5-$+$i$9$k$H!"%=%j%e!<%7%g%s$NCf$K(BC++$B$r$N%W%m%8%'%/%H!"(B
$B%/%H$+$i$=$l$>$l!"4X?t$r%3!<%k$9$l$P!"2DG=$H$J$k$H$N$3$H$G(B
$B$7$g$&$+!)(B
$B$465<($*4j$$$7$^$9!#(B
$B%3%^%s%I%i%$%s$+$i$G$b$h$1$l$P!"(B.netmodule $B$***@8@.$7!"$=$l$i(B
$B$r7k9g$9$k$3$H$G0l1~2DG=$N$h$&$G$9!#$?$@$7!"$*4+$a$O$7$^$;$s!#(B

---
MVP kaok = MVP.ChangeMvpCategory("for C# 2004-2006.");
kaok.Web = "http://www.antoine.st/";
C#Sharp.com
2005-06-25 13:21:01 UTC
Permalink
Post by C#Sharp.com
下記からすると、ソリューションの中にC++をのプロジェクト、
C#を使用したプロジェクトを作成し、C#からまたは、C++のプロジェ
クトからそれぞれ、関数をコールすれば、可能となるとのことで
しょうか?
試してみてください。
調査しましたが、むりそうなのでやめます。
コマンドラインからでもよければ、.netmodule を生成し、それら
を結合することで一応可能のようです。ただし、お勧めはしません。
コマンドラインからとは、どういうことでしょうか?
参考URL等あればご教示お願いします。
Kaoru Kodaka
2005-06-26 01:51:09 UTC
Permalink
$B$+$*$/(B $B$G$9!#(B

On Sat, 25 Jun 2005 06:21:01 -0700
$BD4::$7$^$7$?$,!"$`$j$=$&$J$N$G$d$a$^$9!#(B
$B2?$r$I$N$h$&$KD4::$7$?$N$G$7$g$&$+!)(B $B%=%j%e!<%7%g%s$NCf$K0[(B
$B%3%^%s%I%i%$%s$+$i$H$O!"$I$&$$$&$3$H$G$7$g$&$+!)(B
csc.exe $B$J$I$N%3%^%s%I%i%$%s%S%k%I%D!<%k$G$"$l$P!"(B.netmodule
$B$***@8@.$9$k$3$H$,$G$-$^$9!#$7$+$7!"(BVisual Studio $B$N(B IDE $B$G$O!"(B
$B%5%]!<%H$5$l$F$$$^$;$s!#(B

---
MVP kaok = MVP.ChangeMvpCategory("for C# 2004-2006.");
kaok.Web = "http://www.antoine.st/";
C#Sharp.com
2005-06-28 01:38:02 UTC
Permalink
何をどのように調査したのでしょうか? ソリューションの中に異
なる開発言語のプロジェクトを含めることは可能です。
異なる言語を含めることができるのはわかっています。
メニューの File -> Open Project から 追加できます。
ただ、C言語で書かれたファイルたとえば、下記関数を
C#で書かれたソースコードからコールすることができないと思われます。

Cソース
void a(void)
{
int a;
if(a) {
a +=1;
}
}

方法はあるのでしょうか?
Kaoru Kodaka
2005-06-28 03:00:54 UTC
Permalink
$B$+$*$/(B $B$G$9!#(B

On Mon, 27 Jun 2005 18:38:02 -0700
C#$B$G=q$+$l$?%=!<%9%3!<%I$+$i%3!<%k$9$k$3$H$,$G$-$J$$$H;W$o$l$^$9!#(B
$B$3$l$G$O8F$S=P$;$^$;$s!#%/%i%9%i%$%V%i%j$K$7$F!"(B.NET
Framework $B$N7A<0$K$N$C$H$C$F8F$S=P$9$+!"(BRegular DLL $B$K$7$F!"(B
WIN32 API $B7A<0$N8F$S=P$7(B(P/Invoke $B$H$$$$$^$9(B)$B$r;H$&$+!"$J$I(B
$B$NJ}K!$,$"$j$^$9!#(B

---
MVP kaok = MVP.ChangeMvpCategory("for C# 2004-2006.");
kaok.Web = "http://www.antoine.st/";

Loading...