以下のような事はできるのでしょうか。
① cのソースをgccでコンパイルしDLLを作成
② Visual StudioのC#から「①」のDLLインポート
試しに簡単なソースで試してみたらできなかったので、
やり方が悪いのかそもそもコンパイラが違うから
出来ないものなのかを知りたいです。

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。
C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。
Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。
C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。
C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。
C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。
Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。
C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。
0グッド
2クリップ
投稿2017/02/01 06:27
以下のような事はできるのでしょうか。
① cのソースをgccでコンパイルしDLLを作成
② Visual StudioのC#から「①」のDLLインポート
試しに簡単なソースで試してみたらできなかったので、
やり方が悪いのかそもそもコンパイラが違うから
出来ないものなのかを知りたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
cygwinのgccでDLLを作ることはできます。詳細はcygwinのマニュアルの「Building and Using DLL」を参照下さい。なおそこに書いてありますが、cygwinで作ったDLLは「cyg」が頭についた名前になります。dllimportでインポートするときはこの名前を指定する必要があります。
また、dllimportで動的にインポートするのではなく、コンパイル・リンク時に使うDLLを指定しておく場合、そのDLLのインポートライブラリが必要です。cygwinでDLLを作ったときにできるインポートライブラリ (名前の頭に「lib」がつき、拡張子が「.a」) は、VC++でのインポートライブラリ (拡張子が「.lib」) としては使えません。このような場合は、.defファイルを作成してそれをもとにインポートライブラリを生成する必要があると思います。
投稿2017/02/01 12:36
総合スコア4441
0
こんにちは。
実際にやったことはないのですが、gccがMinGWの意味でしたら原理的には出来るはずですよ。
Windows APIもC言語I/Fのdllです。それをC#から呼び出せます。それと同じです。
gccがlinuxやunix、cygwin上のものでしたら、原理的にできないと思います。
投稿2017/02/01 06:39
総合スコア23274
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/02 01:05
2017/02/02 02:23
2017/02/02 04:18
2017/02/02 04:52
2017/02/15 00:36
2017/02/15 09:03
2017/02/15 23:44