Sample1.c 1: can't open: studio.h: No such file or directory
これはどこの設定が悪いのでしょうか?
すみません助けてください!

A 回答 (2件)

>Sample1.c 1: can't open: studio.h: No such file or directory



stdio.h の間違いでは?
    • good
    • 0
この回答へのお礼

はっ~~~恥ずかしい!
ソースの記入ミスでした(泣

コンパイルできました!!
なるほどインクルードの記入を間違えると
こんなエラーが出るんですね。。。

というか。本当に恥ずかしいです。
設定自体はできていたようなので安心しました

みなさんありがとうございました!
そしてごめんなさい!

お礼日時:2005/04/21 23:03

パスが通ってないだけなんでわ?


studio.hがどこにあるのでしょうか?
パスを通してあげるか、
絶対パスを
include文のなかにかくか。

この回答への補足

パスを通すって言うのは
「;C:\lsic330c\BIN」を
通すことですか? これならうまく設定できている
と思うのですが。昨日一回コンパイルができたんで
設定ができたと思ったのに今日になるとエラーが
でるようになってしまいました。

リンカの設定も
「-XC:\LSIC330C\BIN -LC:\LSIC330C\LIB -IC:\LSIC330C\INCLUDE -T -O」で
大丈夫だと思うのですが(泣

補足日時:2005/04/21 22:50
    • good
    • 0

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

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

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

Qjavaの数値リテラルや文字リテラルについて教えてください

5個質問します
❶146Lのように後ろに、Lやlをつける数値リテラルはどんな時に使うんですか?
詳しく説明お願いします。
❷10進数や16進数や8進数や2進数の使いわけ方を教えてください。

❸浮動小数点リテラル10進数と指数形式の使いわけ方を教えてください。

❸文字リテラルと文字リテラルはどんな時に使うんですか?
詳しく説明お願いします
❹文字を’で囲うのとユニコードを’で囲うのの使いわけ方を教えてください。

❺論理値リテラルはどんな時に使うんですか?
詳しく説明お願いします。

Aベストアンサー

語弊を恐れずに言うと、「リテラル」は、定数をプログラムで書くためのものです。
その書き方で、値や型が変化します。

これが無いと
int i = 5 ;
なんて簡単なものさえ、書けなくなります。
ここで、「5」は 整数リテラルです。
// 正確には、やってできなくはないけど、とても難しくてなんだかわからなくなります。


書く場所は、その型が利用できる場所ならどこでも利用できます。 メソッドの()だけではありません。
メソッドの()にしか書けないのなら、 int i=5 ; とは書けません。


Javaのような「型」がある言語では、リテラルがどんな型か、も重要になってきます。
初心者がやりがちな間違いに
double f = 1/2 ;
で、 fが 0 になっている、というものです。
これは、 1, 2 は整数リテラル(int型)のため、 int / int = int となる仕様により、
1 /2 = 0.5 → 切り捨てて 0 となり、その 0を f に代入しているためです。
計算結果を doubleにしたかったら、doubleで計算させなければなりません。
そこで、 1.0 / 2.0 と 浮動小数点リテラルを使えば、このリテラルは double型なので、
1.0/2.0 = 0.5 となります。



> ❷10進数や16進数や8進数や2進数の使いわけ方を教えてください。
> ❸浮動小数点リテラル10進数と指数形式の使いわけ方を教えてください。

コンピュータにとっては、どちらでも同じです。
人間が読み易いかどうかです。

例えば。
特定ビットが立っているか調べるのに
if (a & 208 == 208 ){ 〜
とあったとします。208からビットパターンを想像するのは難しいです。
if (a & 0xd0 == 0xd0 ){ 〜
だと、少し慣れた人には直ぐにわかります。
if (a & 0b11010000 == 0b11010000 ){ 〜
だったら、初心者でもわかります。

208 == 0xd0 == 0b11010000
です。どれも同じ値を表現するリテラルですが、表記によってわかりやすさが違います。

例えば。
1光年= 9.46×10^12 km として天文シミュレーションプログラムを作るとします。
指数表現しなければ
9460000000000.0
です。これを間違えずに入力する自信はありますか?私はありません。
実際、上の値を入力して、ちゃんと10^12になっていることを確認したくらいです。
9.45e+12
だったら、まず間違えません。
逆に
12.3
くらいだったら、このままのほうがわかりやすく
1.23e1
だったらちょっと考えてしまいます。

語弊を恐れずに言うと、「リテラル」は、定数をプログラムで書くためのものです。
その書き方で、値や型が変化します。

これが無いと
int i = 5 ;
なんて簡単なものさえ、書けなくなります。
ここで、「5」は 整数リテラルです。
// 正確には、やってできなくはないけど、とても難しくてなんだかわからなくなります。


書く場所は、その型が利用できる場所ならどこでも利用できます。 メソッドの()だけではありません。
メソッドの()にしか書けないのなら、 int i=5 ; とは書けません。


Javaのような「型」が...続きを読む

Qエラー 'iostream.h' : No such file or directory

当方VC++初心者です。3Dモーションセンサーを購入してその角度等の値をファイルに書き込みすることをしようとしています。
センサーに付属しているVC++用のサンプルプログラムをコンパイルしたところ、


fatal error C1083: include ファイルを開けません。'iostream.h' : No such file or directory


というエラーが出ます。
#include <iostream.h>が関係していると思い、
#include <iostream>にしてみたり、#include <iostream.h>を消してコンパイルすると、エラーがたくさん出てくるので#include <iostream.h>に意味があると思われますが、そのくせ#include <iostream.h>というファイルがないというのはどういうことなのかよくわからず対処できずに困っています。

Microsoft Visual Studio .net 2003を使っています。

Aベストアンサー

Visual Studio .NET 2003では<iostream.h>はなくなっているようです。サンプルプログラムが古いことがそもそもの原因ですが、<iostream>に変更してみてどんなエラーが発生したのでしょうか?
もし、using namespace std;を使ってもエラーになるようなら、一つ一つ注意深く修正するしかありません。

QVBA 日付リテラル表記について

いつもお世話になっております。

VBA初心者です。

VBAを勉強中なのですが、私の使っている参考書に日付のコードに関して#3/19/2014#と日付リテラルで表記するようにとの記載がありました。
試に慣れ親しんでいる”2014/3/19”とコードを記載しても同様に動作しました。

参考書には何故?日付リテラル表記にするか記載がありませんでしたので、この場を借りて質問させていただきます。

日付リテラル表記にする理由とは何でしょうか?

初歩的な質問で申し訳ありませんが、よろしくお願いいたします。

Aベストアンサー

#3の回答者です。

あくまでも、日付リテラル値「#3/19/2014#」は、VBEditor上にしか代入されません。従って、実際のプログラミングでは、日付リテラル値は使いません。

実際の入力に関して、「年,月,日」と明示的に分かるようにして入力させるのが正しいプログラミングの書き方です。VBAではそうした書法は言いませんが、VB6やVB.Netでは、使わないという約束事になっています。

アジア圏の場合は、概ね、"2014/3/19"(または、"2014/03/19")と書けばよいわけです。アメリカン・スタイルやヨーロッピアン・スタイルでは、また、これが変わります。これは、コントロールパネルの「地域と言語」のスタイルに合わせて入力をさせるのが書法です。

実際の場で、日付値を扱う時は、丁寧に書けば、以下のような対話型スタイルになりますが、対話型を省いたとしても、いくつかのチェック機能を備えるのが、実践のプログラミングの基本です。これは、常識的な話だと思いますが、ここの掲示板では、素に近いコードで済ませることも多いので、人によっては、避けるられるヒューマンエラーも、結果任せというかもしれません。それは、それで仕方がありません。

'//
Sub DateTest()
 Dim myDate As Variant
 Dim rtn As VbMsgBoxResult
 myDate = Application.InputBox(Prompt:="日付をyyyy/mm/ddのスタイルで入力してください.", Type:=2)
 If IsDate(myDate) = False Then '第1関門
  MsgBox "それは日付として認められません." & _
  vbCrLf & "やり直してください.", vbExclamation
  Exit Sub
 Else
  myDate = CDate(myDate)
  rtn = MsgBox("あなたが入力したのは、" & Format(myDate, "yyyy年M月d日") & "ですか?", vbOKCancel + vbQuestion) '第2関門
  If rtn = vbCancel Then
   MsgBox "もう一度入力し直してください."
   Exit Sub
  Else
  'continued....
  End If
 End If
End Sub

#3の回答者です。

あくまでも、日付リテラル値「#3/19/2014#」は、VBEditor上にしか代入されません。従って、実際のプログラミングでは、日付リテラル値は使いません。

実際の入力に関して、「年,月,日」と明示的に分かるようにして入力させるのが正しいプログラミングの書き方です。VBAではそうした書法は言いませんが、VB6やVB.Netでは、使わないという約束事になっています。

アジア圏の場合は、概ね、"2014/3/19"(または、"2014/03/19")と書けばよいわけです。アメリカン・スタイルやヨーロッピアン・スタ...続きを読む

Qエラー 'dir.h' : No such file or directory

当方C初心者です。シリアルポートからデータを取得するプログラムを模索中です

で、みつけたサンプルプログラムをMicrosoft Visual Studio .net 2003でコンパイルしたところ
c:\documents and settings\デスクトップ\source1.c(5): fatal error C1083: インクルード ファイルを開けません。'dir.h': No such file or directory

と出てきます。インクルードファイルdir.hはMicrosoft Visual Studio .net 2003にはないということなのでしょうか、どのように対処すればようのでしょうか、、


ご存知の方お教えください。よろしくお願いします

Aベストアンサー

日本語を無視して英語のエラーメッセージを見れば一目瞭然!
'dir.h'というインクルードファイルが見つからないということです。

まず、デスクトップにソースファイルを作らないで、
C:\Project\sample\hoge.c
のように、スペースや日本語を含まないパス名にサンプルをコピーしてでコンパイルが通るか試してみる。

それでダメならば・・・

'dir.h'がユーザが定義したファイルでない(ソースパスに存在しない)
ならば、通常のWindowsでは使わない(関数のプロトタイプなどが定義してある)(あるいは、このバージョンから使わないことになった)ファイルだとおもわれます。

ということで・・・
もしユーザ定義ファイルなら
#include <dir.h>
となっていたら
#include "dir.h"
とか、して様子をみる。
あるいはソースパスからインクルードファイルを検索するように設定されているか確認してみる。

もしユーザ定義ファイル「ではない」なら
とりあえず、エラーメッセージをクリックしてソースコードを開いて・・・
/*
#include <dir.h>
*/
とかいうふうにコメントアウトして、どんなコンパイルエラーが増えるか様子をみてみるとか。
で、(プロトタイプがないとか、未定義の関数なんてかんじの)コンパイルエラーがあったら、何をする関数かしらべて、類似する関数があるかどうかなどを調べて移植の方針を決定すると。

日本語を無視して英語のエラーメッセージを見れば一目瞭然!
'dir.h'というインクルードファイルが見つからないということです。

まず、デスクトップにソースファイルを作らないで、
C:\Project\sample\hoge.c
のように、スペースや日本語を含まないパス名にサンプルをコピーしてでコンパイルが通るか試してみる。

それでダメならば・・・

'dir.h'がユーザが定義したファイルでない(ソースパスに存在しない)
ならば、通常のWindowsでは使わない(関数のプロトタイプなどが定義してある)(あるいは、...続きを読む

Q「リテラル値」

エクセルのサイトや本を見ているたまに「リテラル値」
と言う言葉が出てくるのですが、
どういう意味なのでしょうか?

数字と言う意味でしょうか?日付と言う意味ですか?

Aベストアンサー

こんばんは。

リテラルというのは、元の意味は、「文字上の」とか「文字通り」ということですが、

<<リテラル値>>というものは、エクセルでは、VBAに使われる言葉で、
「プログラムのソースコード中に使用される定数のこと」
ということですが、具体的には、以下のようなものです。

A,B,C は、変数

A = 1 + 2 '←数値リテラル
B =#4/4/2013# '←日付リテラル
C = "MY_NAME" '←文字リテラル

このように、直接、数字などを代入することを指します。
こうすることを、決め打ち(キメウチ)とも呼びます。

ただし、これらは、本来は、定数(Const)に代入するのであって、プログラミング・コードには、リテラル値をキメウチすることは、あまり良くない作法だと言われています。

QVC++ 他プロジェクトファイルの参照問題 LNK1181: cannot open file

Visual Studio (2015 無料版) 使って、VC++のプログラム開発勉強しています。

一つソリューション(Test)に二つのプロジェクト(Proj1, Proj2)作って、Proj2からProj1の一つのcppファイルを参照したいです。

両方プロジェクトはConsole起動できるように、ビルド後「.exe」作成される。Proj2はWindows Formアプリで、プロットを表示するよう、NPlotライブラリーを使っています。

Proj1側:
Data.cppというクラスがあって、そのクラス内、getRealData()というメソッドがある。

Proj2側:
MyForm.hがプロットを描画する処理を持つクラスで、MyForm.hからProj1側のData.cpp内のgetRealData()を呼びたい。

試してみたこと:
Proj2のMyForm.hの先頭にData.hをincludeする。
#include "Data.h"

Data.hにgetRealData()の定義があるので、MyForm.h内から、getRealData()を呼び出すことができる。

しかし、Proj2にData.hはどこにあるのか、教えないとコンパイルエラーになる。

教え方:
Proj2のプロパティーメニュー開いて、
C/C++ -> General -> Additional Include Directoriesに
"C:\User\Documents\Visual Studio 2015\Projects\Test\Proj1" を追加。(Data.cppファイルのパスです。)

↑で、コンパイルはOKです。

問題はリンカー。
Proj2のプロパティーメニュー -> Linker ->Input -> Additional Dependenciesに以下の値を設定。

"C:\User\Documents\Visual Studio 2015\Projects\Test\Proj1\x64\Release"

(Proj1がコンパイルされると上記のパスにobjファイルが生成されるので。)

Build -> Clean solutionの後、Build solutionを実行すると、
LINK : fatal error LNK1181: cannot open input file 'C:\User\Documents\Visual Studio 2015\Projects\Test\Proj1\x64\Release.obj'
と言われ、ビルドに失敗します。

Release.objというファイルはあるはずがない。C:\\....\Release フォルダーに存在する「Data.obj」を参照してほしかったです!

Visual Studio/VC++ に詳しい方、ご指導お願いします。

Visual Studio (2015 無料版) 使って、VC++のプログラム開発勉強しています。

一つソリューション(Test)に二つのプロジェクト(Proj1, Proj2)作って、Proj2からProj1の一つのcppファイルを参照したいです。

両方プロジェクトはConsole起動できるように、ビルド後「.exe」作成される。Proj2はWindows Formアプリで、プロットを表示するよう、NPlotライブラリーを使っています。

Proj1側:
Data.cppというクラスがあって、そのクラス内、getRealData()というメソッドがある。

Proj2側:
MyForm.hがプ...続きを読む

Aベストアンサー

見た感じ Additional Dependencies で Data.obj まで指定すればいいように思うんだけど....

違うかなぁ?

Q文字リテラルを ' で閉じない場合、何と認識される

暗黙的型変換で、
nvl2('aaa','iii',111)
これは1を文字だと認識してくれますが

upper(aiueo)
これはエラーになる。
このように明らかに文字リテラルが入る箇所に ' 省略して入力しても暗黙的型変換が実行されないのはなぜ?

Aベストアンサー

>このように明らかに文字リテラルが入る箇所
>upper(aiueo)

違います。変数aiueoの値をupperに送るという文です。
変数aiueoが定義されていないとエラーが出ていませんか?

Qコンパイルエラー includeでNo such file

独学でCを学習中です。
コンパイルエラーについて教えてください。
Windows98SEでLSI C-86 Ver 3.30c 試食版を使用して
コンパイルしようとしていますが、下記のエラーが出てしまいます。

abc.c 103: can't open: http_config.h: No such file or directory
(以下同様に数行)

Includeの指定先にファイルがない、というエラーメッセージだと思うのですが
実際にはファイルはあり、同じようにincludeしているヘッダファイルで
読み込まれているものもあります。
推測ですがヘッダファイル名が8文字以上だとエラーが出ているようです。
これは何が原因でエラーになってしまうのでしょうか。
他に思いつく事は、
マニュアルどおりconfig.sysの最終行にはFILES=20を書き加えました。

お手数ですがエラーの原因と対策のご教示をお願いできますでしょうか。
よろしくお願いいたします。

Aベストアンサー

GetShortPathNameはsystem32フォルダの中のkernel32.dllにあるAPIです。
APIをBorlandのフリーのコンパイラやLSI C-86で使えるかどうかは私にはわかりません。

GetShortPathNameは外部的にみれば
ファイル名を「abcdefghijk.c」→「abcdef~1」に変換する
関数みたいなものです。
もちろん「abcdefghijka.c」と「abcdefghijkb.c」
が存在した場合等は外部的な処理だけでは無理ですが。

win98SEは手元にないのでわからないのですが、ファイルの
プロパティにMS-DOSファイル名という項目
がなかったでしょうか。

Q文字リテラルについて

javaの文字リテラルについて教えていただきたいのですが
\u1234の様にunicodeの16進数(2バイト)
を使用すると思いますが、\uのあとの桁数は、必ず4桁なのでしょうか?1桁もしくは2、3桁もありえますでしょうか?
unicodeの16進数について理解していないのでよろしくお願いいたします。

Aベストアンサー

> unicodeでたとえ3桁があってもjavaの文字リテラルまたは、
> 文字列リテラルもしくはString 型は \uXXXX 4桁で表示すると
> 理解していいのでしょうか?

表示する、というのがよくわかりませんが、とにかく、\uXXXX は4桁で無いとだめということです。

> また\uXXXX 4桁はStringBufferでも使用可でしょうか?

何か \uXXXX の表記法について誤解していらっしゃるようです。

たとえば、ユニコード文字 \u00c0 (Aに点がついた文字)をソースコードに入力しようとしても、ソースファイルがSHIFT-JISでエンコードされている限りは、このようなSHIFT-JISに無い文字は入力できませんね。
そこで、ソースコードに目的の文字を直接入れるのではなく、\u00c0 の形をした「代替表現」を使うことで、「そこにはAに点がついた文字が入力されているとみなしてくれ」と、コンパイラーに伝えるのです。
するとコンパイラーは、「なるほど、Aに点がついた文字をつかうのですね」と、バイトコード生成の時に代替表現である \u00c0 から、本来の文字である「Aに点がついた文字」に変換するのです。
さて、実際にプログラムを実行する時ですが、バイトコード(classファイル)に記憶されている文字は、コンパイルの時点ですでに本来の目的の文字に変換されていますから、\uXXXX のような表現はもうありません。
ですから、String だとか StringBuffer だとか気にする必要はありません。そのような心配は別次元の話なのです。

なお、代替表現と書きましたが、SHIFT-JISにある文字でもユニコード番号さえわかれば \uXXXX の形で表記することもできます。

> unicodeでたとえ3桁があってもjavaの文字リテラルまたは、
> 文字列リテラルもしくはString 型は \uXXXX 4桁で表示すると
> 理解していいのでしょうか?

表示する、というのがよくわかりませんが、とにかく、\uXXXX は4桁で無いとだめということです。

> また\uXXXX 4桁はStringBufferでも使用可でしょうか?

何か \uXXXX の表記法について誤解していらっしゃるようです。

たとえば、ユニコード文字 \u00c0 (Aに点がついた文字)をソースコードに入力しようとしても、ソースファイルがSHIFT-JIS...続きを読む

Qすみません。初心者です。Microsoft Visual Studio

すみません。初心者です。Microsoft Visual Studioはいつも変化していっていますが、ちょっと前は"C#"、今度は"F"などという言語を予定していると言われています。

"C#"には非常に興味がわくのですが、「メモリー管理を自動的にやってくれる」というのは、本当にそうなのでしょうか?どの程度正確にやってくれるのでしょうか?勉強する意味はあるのでしょうか?

さらに"F"は関数言語だと聞いています。おそらく"function'から来ている言葉だと思います。関数言語なら、以前から"lisp"という言語があります。MSはどういうふうに差異をつけるのでしょうか?

初心者ですので、分かりやすくご説明いただける方、よろしくお願いいたします。

Aベストアンサー

先ず、メモリー管理を自動に、の意味は理解されているのでしょうか?
C#以外の言語メモリー管理で何が問題になっているのか理解した上で、正確に、という発言が出ているのでしょうか?
理解した上での発言なら、初心者レベルではないと思いますが。

C#を簡単に言うなら、VBレベルで使えるCモドキ、って事で良いと思います。
一番近いのはJava(JavaScriptでは無い。JavaとJavaScriptは、かすりもしない全くの別物。)とも言われますが。
メモリ管理を自動に、ってのもVB同様に、変数オブジェクトを生成して使用した後、ファンクション終了時に明示的に開放しなくても自動的に開放してくれる、って物ですから。

C#を学習したとして、何に使いますか?って所でしょうかね。
趣味のプログラム作成になら十分ですが、業務用途なら需要は低いです。(SharePointと組み合わせるプログラムを作るのに使う、とかもあるので、全く需要が無い訳ではないですが。)
業務用途はJava系が主流ですし、EUCのフロントエンドだとVBやVBA(Excelマクロ等)が未だに多いですし。
Windows以外に向けたものになると、そもそもC#なんて論外で、C/C++になりますしね。

Fに至っては、全く未知だと思って良いです。
話題にもなりませんから。

C#に関しては、VS Expressが無償提供されますから、興味があるなら実際に触ってみることですね。

[参考]Microsoft Visual Studio Express
http://www.microsoft.com/japan/msdn/vstudio/express/

先ず、メモリー管理を自動に、の意味は理解されているのでしょうか?
C#以外の言語メモリー管理で何が問題になっているのか理解した上で、正確に、という発言が出ているのでしょうか?
理解した上での発言なら、初心者レベルではないと思いますが。

C#を簡単に言うなら、VBレベルで使えるCモドキ、って事で良いと思います。
一番近いのはJava(JavaScriptでは無い。JavaとJavaScriptは、かすりもしない全くの別物。)とも言われますが。
メモリ管理を自動に、ってのもVB同様に、変数オブジェクトを生成して使用し...続きを読む


人気Q&Aランキング

おすすめ情報