質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

3回答

3894閲覧

Visual Studio ソリューションやプロジェクトの生かし方

fermat

総合スコア183

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2016/12/14 01:51

編集2016/12/14 01:53

###前提・実現したいこと
Visual Studio Community2015を使って学んでいる初心者です。
ソリューション内のプロジェクトやソースファイルの連携方法が分かっていません。

同じソリューション内、或いは同じプロジェクト内であれば、
ソースファイルがC言語で書かれたものとJAVAで書かれたものがそれぞれあったとして、連携できるのでしょうか?
その連携方法や戻り値などの渡し方はどうすればよいのでしょうか?

ヘッダーファイルなどは、関数の中身まで書かれていないらしいのですが、複数の言語のソースファイルにインクルードできるのでしょうか?

初心者ながら、アプリケーション開発の設計を少しでも始めたいと思っているのですが、
ソリューションの使い方について、見渡しながら理解できないだろうかと躓いています。

具体的でない質問ですみません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

同じソリューション内、或いは同じプロジェクト内であれば、

ソースファイルがC言語で書かれたものとJAVAで書かれたものがそれぞれあったとして、連携できるのでしょうか?
その連携方法や戻り値などの渡し方はどうすればよいのでしょうか?

ソースレベルでの連携は言語が違うとできないと思います。
.NETだと、同じソリューション内にあるC#で書かれたDLLプロジェクト内のオブジェクトを同じソリューション内にあるVB.NETのWindwosアプリケーションのプロジェクトで利用する、というようなことは可能です。

投稿2016/12/14 03:42

KoichiSugiyama

総合スコア3041

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2016/12/14 10:30

.NETのほうが幅広く使えそうですね…。 .NETを使わないプログラミングにこだわっているのですが、 視野を広く持って、C#+.NETなどを検討したときに、こちらで書かれたことを思い出して構成してみようと思います。ありがとうございます。
fermat

2016/12/14 10:36 編集

投稿がかぶりましたので、こちらを消しました。
guest

0

こんにちは。

同じソリューション内、或いは同じプロジェクト内であれば、

ソースファイルがC言語で書かれたものとJAVAで書かれたものがそれぞれあったとして、連携できるのでしょうか?
その連携方法や戻り値などの渡し方はどうすればよいのでしょうか?

まず、同じプロジェクト内で複数のメイン言語を使うのは難しいです。(たぶん超頑張ればできると思いますが、意味ないです。)
次に、同じソリューションに異なる言語のプロジェクトを入れることは可能です。しかし、異なるソリューションに分けた場合と可能な連携方法は大差ないです。
C#とC++を同じソリューションで開発したことがあるのですが「連携」については特にメリットは無かったです。
各プロジェクトを独立に管理するよりソリューションにまとめて管理すると便利です。

投稿2016/12/14 02:38

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2016/12/14 08:48

複数の言語を扱うことが難しく、メリットも少ないとのことで、 ソリューション内、プロジェクト内は、言語を統一させておく方が どうやら良さそうだと分かりました。 後から別の言語の機能を簡単に付けたしできるわけではなさそうなので、 注意して設計していきたいです。ありがとうございます。
Chironian

2016/12/14 08:57

回答が解りにくくてすいません。 ソリューション内で言語を統一する必要はないですよ。
fermat

2016/12/14 09:16

いえいえ^^分かりやすいです。 各々異なる言語で構成されたプロジェクトが一つのソリューションにまとめられていて、 それをビルドすると一つの実行ファイルになるということなのでしょうか? 一つのソリューションに一つのプロジェクト、その中に一つのソースファイル+ヘッダーファイルというものしか作ったことがなく、ソリューションにいくつものプロジェクトを入れることができるのは何故なのかよく分かっておりません。
Chironian

2016/12/14 09:26

「1つのプロジェクトが1つのexe」、もしくは、「1つのプロジェクトが1つのdll」と考えて良いですよ。 1セットのソフトウェアが複数のexeやdllで構成されることがよくあります。 そのような時に、それらを1つのソリューションにまとめておくと管理しやすいのです。
fermat

2016/12/14 09:29

む?自分で書いておきながら、自分でもよく分からない質問をしています。すみません。 今、勉強の真っ最中で分からないことが次から次へとという状態で、混乱しています。 何か、サンプルゲームでも作ってプログラムの構成を勉強し直してから、ソリューションやプロジェクトについて、考え直してみようと思います。
fermat

2016/12/14 09:33

1つのプロジェクトが1つのexe」、もしくは、「1つのプロジェクトが1つのdll」 1セットのソフトウェアが複数のexeやdllで構成 咬み砕いて説明して下さって、ありがとうございますφ(..)メモメモ!!
guest

0

ベストアンサー

基本的に別の言語同士は同ソリューション、同プロジェクト内に配置しても連携できません。
ただし、それぞれの言語を連携できるようにする技術は多々あるので、それらを使う場合は同一プロジェクト内に配置すると見通しがよくなったり、visual studioの機能で連携させながらデバッグできるようになったりします。

実際に何ができるようになるかは何と何を連携するかによって変わるので、
もっと細かい事を聞きたい場合は具体例を挙げるといいと思います。

追記
すいません、CとJavaって書いてありましたね。見逃していました。
そうなると、例えばJNIとかですかね

後はこんな記事も
Visual Studio 2015でCとJavaを併用したAndroidサンプル、Target API Levelの変更方法

投稿2016/12/14 02:22

編集2016/12/14 02:33
ishi9

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fermat

2016/12/14 08:39

他の言語で作ったプロジェクト同士を繋げようとするよりも、 C++をベースにして、その中で他の言語(JAVA)を呼び出すのが近道と 設計の大きなヒントになりました。 理解するのに時間がかかりそうですが、喰らいついてみようと思います。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問