#pragmaについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
hamanov

#pragmaについて

#1

投稿記事 by hamanov » 18年前

こちらの掲示板を利用するのは初めてですのでよろしくお願いします。

#pragmaについて教えてください
自分はC言語でプログラムの勉強をしてる者です。所有してる参考書とインターネットを頼りに色々調べてみたのですが、命令文等の詳しく説明してるところが見つけられませんでした。
参考書によると#pragmaはANSI C標準では規定されて無いらしく、コンパイラのマニュアルを参考にするよう書いてありました。
自分はBorlandのフリーのコンパイラを使ってまして、コンパイラのヘルプファイルなど調べてみましたがよく解りません。Borlandのコンパイラで規定された#paragmaの命令分はどのようなものがあるのでしょうか?

どなたかできるだけ詳しく教えてもらえないでしょうか?宜しくお願いします。

たかぎ

Re:#pragmaについて

#2

投稿記事 by たかぎ » 18年前

Turbo C++ Explorer をインストールすれば、詳しいドキュメントが付いてきます。
http://www.turboexplorer.com/jp/cpp

hamanov

Re:#pragmaについて

#3

投稿記事 by hamanov » 18年前

たかぎさん情報ありがとうございます。

コンパイラのインストールに手間取ってしまって、お返事遅くなってしまいました。
#pragma命令について非常に詳しく書かれていましたので大変参考になります。自分のレベルでは今の所#pragmaを使うようなことはなさそうですが、どのような動作をするのか前から気になっていたので解決できて良かったです。
紹介していただいたTurbo C++ Explorerは今使ってるフリーの開発環境ツールより色々出来ていい感じです。
このツールが使いこなせるよう色々勉強していきたいです。どうも有難う御座いました!

JEX

Re:#pragmaについて

#4

投稿記事 by JEX » 18年前

もう解決されたかもしれませんが、4つの例を挙げます。

#pragma とはその場しのぎの、とか実用的なとかいう意味の英語です。


#pragma once;
と.hファイルの先頭にでも書けば重複インクルードを防いでくれるようになりますし、


#pragma warning(disable: 警告番号)
などとかけばその番号の警告をしないようになります。


#define PI 3.14159
#ifdef PI
#pragma message("PIを定義しました")
#endif
などと書けばPIを定義した場合に開発環境の出力メッセージの欄に
その部位が読み込まれるたびに PIを定義しました と表示するようになります。


そのほかにも
#pragma comment(lib, "ライブラリファイル名.lib")
などと言う形式でWinAPIやDirectXなどのライブラリファイルの読み込みを
行うことが出来ます。(ライブラリファイルとはソースコードの塊みたいなもの)


色々なpragmaがあるのですが代表的な使い方は上記の通りです。
尚、上に上げた例は全てVisual Studio2003以降で私が確認したpragmaであり、
コンパイラ毎にpragmaは違うので気を付けてください。

hamanov

Re:#pragmaについて

#5

投稿記事 by hamanov » 18年前

JEXさん、とても詳しい解説ありがとうございます!勉強になります。

コンパイラごとにプラグマの規定された指令が違うんですね!
ゲーム作成入門のサイトで #pragma comment このコードを前に見たことがあり、かなり気になっていまして、ライブラリファイルの読み込みを行うとは見当もつきませんでした。
「ライブラリ」を使う場合だと新しく追加されたヘッダファイルをインクルードするだけなのかと勘違いしてました(^^;)悩みが解決できて良かったです。自分ももう少しCを勉強してからゲームを作りたい思ってますので、またこちらのお世話になるかもしれません。その時はよろしくお願いします~。

閉鎖

“C言語何でも質問掲示板” へ戻る