出産前後の痔にはご注意!

プログラミング初心者です。
フリーのコンパイラーをインストールした際にする、環境設定でパスを通すって、具体的にはどういうことなんでしょうか?何のためにするのですか?もし詳しく解説しているサイトなどありましたら併せてお願いいたします。

A 回答 (1件)

★アドバイス


>具体的にはどういうことなんでしょうか?
>何のためにするのですか?
 コンパイラのプログラムを実行する為に、その環境を設定するのです。
 コマンドラインからコンパイラを実行する場合は、どこにコンパイラがあるのかを
 コンピュータ(Windowsなど)に教えてあげる必要があります。
・デスクトップ上にあるショートカットファイルには、プログラムの位置(パス情報)を
 持っているためダブルクリックすると即、実行できます。
 でも、パスを省略してしまうと実行できなくなる場合があります。
 コンパイラでコンパイルするときは、コマンドラインから実行するため、実行した
 フォルダ位置にコンパイラというプログラムが存在しないと実行出来ません。
・実行するためにはコンパイラというプログラムが存在する場所(パス位置)を環境変数の
 『PATH』に追加設定します。これでどのフォルダからでもコンパイラを実行してソースを
 コンパイルできるようになります。

参考リンク:
http://www.cmagazine.jp/setbcc.html→『環境ファイル/パス設定プログラム』
http://www.daikichi.net/books/lecture_java/setti …→『パスの設定など』
http://www.yk.rim.or.jp/~kosu/kouza/kouza2.html→『パス設定をしよう』

参考URL:http://www.cmagazine.jp/setbcc.html
    • good
    • 0
この回答へのお礼

詳しく教えていただきありがとうございます。
私一人でプログラミングの勉強をするには限界があるので、
このように教えていただき、とても助かりました。


お礼日時:2007/06/19 10:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qパスの設定とかパスを通すって、どうも意味がつかめません・・・

例えばwindowsで使うgccの扱いで、私は「C言語のe本」というのを読んでいるのですがgccを使えるようにするために

ダウンロードしたgcc-2.95-mingw32.zipを展開する時に、展開先をc:\gcc-2.95として展開し、その後windowsXPのコントロールパネル→パフォーマンスとメンテナンス→システム→詳細設定→環境変数→システム環境変数からPath→そこに;c:\gcc-2.95\binを追加してOKとのことで
確かにその通りにしたらコマンドプロンプトでgccと入力するとなんか答えてくれるようになりました。

でも、これがどういうことか意味がわからなくて気持ち悪いです。そもそもbinというのをなんで指定してるのかが何か分からないし、パスを通すって何をしたんだろうと。

それからFreeMat(MatLabと互換性があるフリーソフト)も興味からいじっているのですが、Path toolというものでパスを設定するようです。それを起動するとディレクトリを追加するような画面が出てきます。パスって何かを知っていれば適切なディレクトリを選択できると思いますし、結局、「パスを通す」って何かわからないので全然応用がきかないんです。

このあたりのこと詳しい方がいたら教えていただけませんか?

ちなみに「c言語のe本」では、「インストールしたgccが、どこにあるのかコンピュータに教えてあげるための作業だ」と書いてあって、意味がわかりませんでした(汗)

例えばwindowsで使うgccの扱いで、私は「C言語のe本」というのを読んでいるのですがgccを使えるようにするために

ダウンロードしたgcc-2.95-mingw32.zipを展開する時に、展開先をc:\gcc-2.95として展開し、その後windowsXPのコントロールパネル→パフォーマンスとメンテナンス→システム→詳細設定→環境変数→システム環境変数からPath→そこに;c:\gcc-2.95\binを追加してOKとのことで
確かにその通りにしたらコマンドプロンプトでgccと入力するとなんか答えてくれるようになりました。

でも、これがどういうこ...続きを読む

Aベストアンサー

先ず、Windowsという物をパソコンだとかOSだとか
いう物では無いと思ってください

通常パソコンでソフトウエアを起動させる場合は
そのソフトウエアが保存されているディレクトリ(フォルダと言った方がいいですか?)
に移動しないと起動できません

パソコンを使用している場合必ず
どこかのディレクトリ上で操作をしていることに成るのですが
作業ディレクトリと保存のディレクトリは別の場所になっています

ソフトウエアを起動する際
本来で有ればその保存されているディレクトリに
移動して起動すれば済むのですが
(CUIであれば そうしているはず)
GUIの場合そういうわけにもいきません
※ディスクップの表示を終了しコマンドプロンプトを出して
ディレクトリを変更して起動すれば済みますが
ちなみにWinの場合使用者は常に各ユーザのディスクトップ
のディレクトリに要る事になります。(移動は出来ません
窓を開いて別のディレクトリを表示させる事は出来ます)

まぁ どう考えても面倒な作業になります。

そこで考え出されたのが
「そのコマンドが打たれたら、自分が今何処のディレクトリで作業していようが
何処のディレクトリのプログラムを起動しなさい」
と言う仕組み これがパスです
※実際は何かコマンドが打たれ、今要るディレクトリに対応するソフトウエアが
無ければ 何処のディレクトリを探す の指定ですが


で、「何処のディレクトリだよ」と指示することを
パスを通すと言う事に成ります。

先ず、Windowsという物をパソコンだとかOSだとか
いう物では無いと思ってください

通常パソコンでソフトウエアを起動させる場合は
そのソフトウエアが保存されているディレクトリ(フォルダと言った方がいいですか?)
に移動しないと起動できません

パソコンを使用している場合必ず
どこかのディレクトリ上で操作をしていることに成るのですが
作業ディレクトリと保存のディレクトリは別の場所になっています

ソフトウエアを起動する際
本来で有ればその保存されているディレクトリに
移動して起...続きを読む

QLNK2019: 未解決の外部シンボルのエラーが出る

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自キャラのデータ
Point2D g_jikipos = {40, 400};//自キャラの座標

//画像ハンドル
int g_jikiimage[11];

//色々なファイルの読み込み
int LoadFiles(){
//画像ファイル読み込み
if(LoadDivGraph("media\\player01.bmp",
11,11,1,64,64,g_jikiimage) == -1) return -1;

return 1;
}


 mymain.h
//他から呼び出させるMyMainの関数
void MyMain();
int LoadFiles();


 myhelper.h(サンプルなので打ちミスはない)
#include "DxLib.h"
#include <limits.h>
#include <math.h>

//構造体宣言
//座標またはベクトルを記録する構造体
struct Vector{
float x,y;
};
typedef Vector Point2D;
//線を記録する構造体
struct Line2D{
Point2D startpos, endpos;
float katamuki;//傾きをラジアン値で記録
Vector speed;//移動している場合は速度をセット
};
//球体を記録する構造体
struct Ball2D{
Point2D position;
float hankei;//半径
};
//四角形を記録する構造体
struct Rect2D{
Point2D lefttop;
Point2D rightbottom;
float width;
float height;
};


//ライブラリ関数
Point2D PosInView(Point2D in);
int XInView(float inx);
int YInView(float iny);
void ScrollToLeft(float jikiposx);
void ScrollToRight(float jikiposx);
void ScrollToUp(float jikiposy);
void ScrollToDown(float jikiposy);
void DrawLineInView(float x1, float y1, float x2, float y2, int Color, int Thickness);
void DrawCircleInView(float x, float y, float r, int Color, int FillFlag);
void DrawAnimation(float x, float y, double ExtRate, double Angle,int TurnFlag,
int *imgarray, int allframe, float fps);
//ベクトル関数
Vector CreateVector(Vector in, float veclen);
Vector AddVector(Vector v1, Vector v2);
Vector SubVector(Vector v1, Vector v2);
Vector AddVectorInFrameTime(Vector pos, Vector speed);
Vector AddVectorInFrameTime2(Vector pos, Vector speed, Vector accel);
Vector Normalize(Vector in);
Vector RotateVector(Vector in, float radian);
float VectorLengthSquare(Vector in);
float DotProduct(Vector v1, Vector v2);
float CrossProduct(Vector v1, Vector v2);
void SetLine2DKatamuki(Line2D *in);
void DrawLine2D(Line2D in, int Color, int Thickness);
void DrawBall2D(Ball2D in, int Color, int Fill);
//当たり判定関数
bool HitTestLineAndBall(Line2D linein, Ball2D ballin);
bool IsPointAtLineFace(Line2D linein, Point2D ptin);
bool HitTestLineAndLine(Line2D line1, Line2D line2);
bool HitTestBallAndBall(Ball2D a, Ball2D b);
bool HitTestPointAndBox(Rect2D rect, Point2D pt);
//タイマー関数
void SetSimpleTimer(int idx, int time);
int GetPassedTime(int idx);


//グローバル変数
extern float g_frametime;
extern Rect2D g_framerect;//画面領域(当たり判定)
extern Point2D g_current_field_pos;//現在の左上座標
extern Rect2D g_stagesize;//ステージサイズ

//定数宣言
const float ZEROVALUE = 1e-10f;
const float PIE = 3.1415926f;
const int SCROLL_LIMIT = 200;
----------------------------------------------------------------
 エラー内容
1>myhelper.obj : error LNK2019: 未解決の外部シンボル "void __cdecl MyMain(void)" (?MyMain@@YAXXZ) が関数 _WinMain@16 で参照されました
1>C:\Documents and Settings\Owner\My Documents\Visual Studio 2008\Projects\my\Debug\my.exe : fatal error LNK1120: 外部参照 1 が未解決です
1>my - エラー 2、警告 0
ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ
----------------------------------------------------------------
画像を貼り付けときます
(見えにくい場合→http://www.dotup.org/uploda/www.dotup.org154142.jpg.html)
初心者なのでわかりやすくお願いします

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自...続きを読む

Aベストアンサー

ファイル構成から推測するに
mymain.cpp というファイルに
void MyMain(void) {
// ここに処理を書く
}
という関数が必要なようです。

QLinuxのgccのインクルードパス?

Linuxのgccで、インクルードファイルやライブラリのパスを設定する方法が知りたいのですが、gccについて詳しい書籍やサイトがありましたら、教えてください。

gccとccの違いも知りたいです。

例)
#include "example.h"

このままだと、example.hが無いと表示されます。

Aベストアンサー

標準ライブラリのパスは、gccのインストール時に指定して、Cプリプロセッサの中に組み込まれます。

#include "example.h"
は、まずカレントディレクトリを探し、次に gccコマンドラインの -I オプションで指定したディレクトリを探し、最後に標準ライブラリが探されます。

#include <example.h>
は、カレントディレクトリを探さない点が異なります。

ccも基本的には同じですが、Unixの種類によって機能が異なる可能性があります。Linuxの場合はcc=gccです。


人気Q&Aランキング