こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

プログラムのファイルの保存

プログラミングについてです。
学校でC言語を学習している最中です。

パソコンはwindows7をつかっており、KNOPIXのCDがあります。
visualC++ で作成したプログラムのファイルをUSBに保存し、

シャットダウンした後にKNOPIXを起動させ、GNOME端末でそのプログラムを実行させることはできました。

しかし、KNOPIXにおいてemacsで作成しUSBに保存したプログラムを、visualC++ でデバックすることはできませんでした。
プログラムのファイルは開くことができたのですが、デバック開始をクリックすることができませんでした。


学校のコンピュータがLinuxであるため、プログラミングの課題を自分のパソコンでしてUSBに保存したあと、それを学校のコンピューターで開きたいと考えています。emacsよりもvisualC++のほうが取り組みやすいので、上のようにやってみました。
また、USBに保存せずに、プログラムファイルをDropboxに保存してもいいかなとも考えました。


KNOPIXにおいてemacsで作成しUSBに保存したプログラムを、visualC++ でデバックするにはどうすればいいですか。
初心者です。質問文にわかりにくいところがあるかもしれませんが、よろしくお願いします。

投稿日時 - 2013-05-04 23:11:44

QNo.8073207

困ってます

質問者が選んだベストアンサー

たしかVisual C++で純粋なC言語のソースコードをコンパイルする場合は、ソリューションを作成し、「コンパイル言語の選択」という設定項目を「Cコードとしてコンパイル」に設定する必要があったと思います。

1.新しいソリューションを作成する。
 ソリューションに新しいプロジェクトを追加する。

2.「ソースファイル」,「ヘッダーファイル」に既存の項目」を追加する。
 ・ソースファイル(.c),ヘッダーファイル(.h)をそれぞれ選ぶ。

3.プロジェクトの設定
 ・ソリューションエクスプローラでプロジェクトを選択する。
 ・メニューから「プロジェクト」-「プロパティ」を開く。

 「<プロジェクト名>プロパティページ」
 ・構成プロパティ
  ・C/C++
   「全般」
     追加のインクルードディレクトリ - (必要に応じてフォルダを追加)
   「プリプロセッサ」
     プリプロセッサの定義 - (必要に応じて定数名を追加)
   「詳細」
     呼び出し規約 - _cdecl (/Gd)
     コンパイル言語の選択 - Cコードとしてコンパイル (/TC)
   「入力」
     追加の依存ファイル - (必要に応じてライブラリを追加)

投稿日時 - 2013-05-05 03:56:03

お礼

ソリューションつくってませんでした;;

とてもわかりやすく手順を教えていただき、ありがとうございました!!

投稿日時 - 2013-05-09 22:53:35

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

あと、emacsの使い方について。

M-x compile
でコンパイルできます。下の欄(ミニバッファ)でコマンドラインを聞いてくるので、コンパイルするコマンドラインを入力してください。初期はmake -kになっています。
// M-x とかの表記はわかりますか?
// METAキーを押しながらx、あるいはESC xと順番に押します。
// ミニバッファに M-x と表示されてカーソルがそちらに移動するので、 続けて compile と入力、Enterで確定します。

コンパイル結果は別ウィンドウに表示されます。
// emacs用語での「ウィンドウ」です。通常のGUIで言えば「同じウィンドウの別の欄」になります
エラーや警告等があれば、そのメッセージにカーソルを合せてEnter、あるいは、マウスカーソルを合せてクリックで、該当箇所へジャンプします。

gdbを使ったデバッガでの実行もできます。長くなるので、「emacs gdb」で調べてください。


これらを使えば、Visual C++と同じことがemacsだけでできます。

投稿日時 - 2013-05-06 09:55:58

お礼

なるほど!emacsのみでもできるのですね!!はじめて知りました。
丁寧にありがとうございました!!

投稿日時 - 2013-05-09 22:47:01

ANo.4

Linuxのプログラム開発をWindowsのVisual C++で行いたいという気持ちは分かりますが、止めておいた方が無難でしょう。
非互換で四苦八苦するのが目に見えています。
本来必要のない苦労をすることもありますまい。

条件によってプログラムを作るOSと実行するOSが異なる、というのは経験していますが、
ちょっとしたライブラリのバージョン違いなどで思わぬトラブルが生じたりし、
これが時間を食うのですよね。

emacsでの開発ならemacsに精通していくのが本筋でしょう。
せいぜい、KNOPIXをCDからのブートを仮想PCで起動させるくらいですかね。

投稿日時 - 2013-05-05 05:28:41

お礼

やってみると、やはり互換されない部分がありました。
学校のパソコンにリモートログインすることで解決できました!

丁寧にありがとうございました!!

投稿日時 - 2013-05-09 22:48:44

Visual C++のIDE上でデバッグ実行するためには、まずプロジェクト(および、それを格納するソリューション)を作成し、そのプロジェクトにソースファイルを追加する、という作業が必要になります。
それには、IDEの「ファイル」メニューから「新規作成」→「プロジェクト」を選択し、プロジェクト名の入力と保存フォルダの選択を行う必要があります。さらに、「プロジェクト」メニュー→「既存項目の追加」でソースファイルをプロジェクトに追加します。

Linuxの開発環境も使っているのであれば、コマンドプロンプトでコンパイルをするのもそれほど苦ではないのではないでしょうか?
もしそうなら、Visual C++のコマンドラインコンパイラを使ってみてください。それなら、別途プロジェクトを作成する必要がなくなります。(ただし、IDE上でのデバッグ実行ができないので、デバッグ目的には向かないです。)

この場合、ソースファイルの編集にはVCのIDEではなく、テキストエディタを使います。メモ帳でも可能ですが、秀丸エディタやサクラエディタなどの高機能テキストエディタの方が後々ラクです。

スタートメニューのVisual Studio配下に「Visual Studioコマンドプロンプト」があるので、それを選択するとコンパイルに必要な設定がされた状態でコマンドプロンプトが起動します。
「cd」コマンド(このコマンド操作はLinuxも同じですよね?)でソースのあるフォルダへ移動し、

cl ソースファイル名

を実行するとコンパイルを行うことができます。(この「cl」はVCのコンパイラです。Linux環境だと「gcc」に相当。)
これで実行ファイル(通常はソースファイル名の拡張子を.exeにしたもの)が出来上がるので、あとはそのまま実行ファイル名を打ち込めば実行できます。

投稿日時 - 2013-05-05 01:33:32

お礼

丁寧にありがとうございました!!

学校のパソコンにリモートログインする方法で解決できました!!ありがとうございます!

投稿日時 - 2013-05-09 22:45:52

ANo.1

KNOPIXって、これのことですよね?
http://ja.wikipedia.org/wiki/KNOPPIX

「KNOPIXにおいてemacsで作成しUSBに保存したプログラム」というのは具体的にどのようなものなのでしょう?
Visual C++で「ソリューション」は作っているのですか?
Cのソースコードだけだと、VisualC++をテキストエディタとしては使えるけど、コンパイル等はできなかったと思います。

投稿日時 - 2013-05-05 00:16:04

お礼

ソリューションつくってませんでした;;

emacsの補足もありがとうございました!!
学校のパソコンにリモートログインすることで無事解決できました!ありがとうございます!!

投稿日時 - 2013-05-09 22:54:54

あなたにオススメの質問