C言語なら俺に聞け 148

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウカー Sacf-slpW)
垢版 |
2018/09/19(水) 17:56:50.83ID:XSTNMnDwa
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

※前スレ
C言語なら俺に聞け 147
http://mevius.5ch.net/test/read.cgi/tech/1534430162/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2018/09/25(火) 22:54:26.26ID:1135EyDF0
WindowsAPI毎Macに移植するのであれば、動くかも知れませんね
2018/09/25(火) 23:06:10.30ID:CZcrESgD0
>>235
>WindowsAPIってのはC言語で実装されてる
win32api(≒WindowsAPI) は C から呼び出せるようになっているのではありますが、
win32api の実体が存在するかどうかは、また別の話になります
mac にて windows 向けのコードを実行させるための手段があるかどうかは、私にはよくわかりません
(wine とかが移植されているのですか?)
238デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/25(火) 23:09:30.90ID:Ig86RmNy0
>>237
WindowsAPIを書いてる言語はバイナリってことですか?
2018/09/25(火) 23:18:34.02ID:HAbRzuEs0
ソースコード全部をgithubに乗せれば話は早いです
要するに、現物を見るのが手っ取り早いです
240デフォルトの名無しさん (ワッチョイ 42d2-MW2F)
垢版 |
2018/09/25(火) 23:18:38.51ID:SjmRGAva0
CPU
OS
ソースコード
実行ファイル
ライブラリ
API
この辺の理解がごっちゃになってるな
もしくは釣り
2018/09/25(火) 23:23:33.73ID:1135EyDF0
試しに、VCではなく、GCCコンパイラ使って、
ソース修正せずに実行プログラムが作成出来るかな?
242デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/25(火) 23:37:13.97ID:Ig86RmNy0
>>240
釣りではないです
大学では
バイナリ→アセンブリ→C言語→WinAPIやJava→高級言語(DirectXなどのライブラリ)
→統合環境(VisualStudio)
の順番で言語規模が高性能化するって習いました

高級言語→C言語にするには実行環境が必要ですが
そもそもC言語であるならば、OSが直接読み込める形であるのだから
どんなOSでも動くという理解です。

間違っていますか?

大学でしないといけないのはプログラミングではなく言語体系についての
理解をレポートにしなきゃならないので
2018/09/25(火) 23:41:58.98ID:Jw6NGqaL0
中学生が背伸びしてるのかと思ったが大学生かよ。
2018/09/25(火) 23:42:20.18ID:AGUJmjmE0
>大学では
>バイナリ→アセンブリ→C言語→WinAPIやJava→高級言語(DirectXなどのライブラリ)
→統合環境(VisualStudio)
>の順番で言語規模が高性能化するって習いました

どんな教育だよ...
2018/09/25(火) 23:46:38.07ID:J8LSZpTD0
>>242
その言語や環境の並び、ざっくりしすぎというか突っ込みどころ満載でどこから訂正していいか困るレベルだよ。
テキストや教師がもんだいなのか、君がの理解不足でおかしなまとめ方をしてるのか…
246デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/25(火) 23:46:38.88ID:xp1IDT0a0
訂正するのがめんどいぐらいいっぱいまちがってる
247デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/25(火) 23:53:43.26ID:Ig86RmNy0
>>246
どこらへんが間違ってますか?
間違いは財産です。教えてください。
2018/09/25(火) 23:54:12.64ID:HAbRzuEs0
>C言語であるならば、OSが直接読み込める形であるのだから
>どんなOSでも動く

しゅごい
2018/09/25(火) 23:55:06.09ID:AGUJmjmE0
>高級言語→C言語にするには実行環境が必要ですが
「そもそもC言語であるならば、OSが直接読み込める形であるのだから
>どんなOSでも動くという理解です。

C言語は各マシンそれぞれのCPUやOSに対応した適切なコンパイラとAPIでコンパイルしないと動きません。
2018/09/25(火) 23:57:02.58ID:J8LSZpTD0
>>242
まったく自分でプログラミングしてないなら実感沸かなくて当然なのだろうけど、その課題意味あるのかな。

それはともかく。
Cで書いたプログラムならどのOSでも 動く訳ではない。
Cで書かれたコードはOSぎ直接理解できるわけではない。そこでCのコードをOS上で実行できるコード(君の分類ではバイナリ)に変換する作業がいる。
その際、ターゲットとするCPUに合わせたコードに変換するから、違う種類のCPUの環境では動かない。
また、OSに関する機能は全部を自分の生成するプログラムに内包する訳ではなくて、OS側ですでに用意してあるプログラムを呼び出すだけだから、他のOSに自分のプログラムを持っていったら、呼び出す先のプログラムが存在しないので実行できないことになる。
251デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/25(火) 23:58:21.66ID:Ig86RmNy0
>>249
正しいのでしょうがよく分かりません
C言語のほうが低級なのに、高級のWinAPIでコンパイルするんですか?
矛盾してるような…
WinAPIはコンパイルされる側のような…
2018/09/26(水) 00:02:36.99ID:HESLqYz40
>>251
前提の理解が間違っているというか、APIが何者かまったくわかっていないよね。

winAPIはwindowsが予め用意してくれている機能で、一般のプログラマがコンパイルするものではない。
自分のプログラムをコンパイルするときに、くっ付けて使わせてもらうもの。
2018/09/26(水) 00:03:04.81ID:h9A6ffHl0
WindowsAPIはAPIであってプログラミング言語ではないので言語的な高級度は定義できません。
254デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 00:05:27.24ID:I4Gvy1+q0
すいませんまったく理解できなくてすいません
低級言語っていうのは、できることは単純だが速度が速いという認識です。
バイナリになると一切無駄が無いので実質、最速の言語だということも知っています。
APIという高度な機能をもってC言語をコンパイルするというのがなぞすぎます。
すでに単純な命令を何故コンパイルという時間のかかる処理を施すのでしょうか?
2018/09/26(水) 00:06:52.76ID:HY3LojxY0
>>242
> 大学では
お前の大学の講義資料のURLを晒せ。
今時の大学なら(学外から見えるかはさておき)普通は上げてるだろ。

おかしいのがお前の頭か講義資料か先生かは切り分け出来る。
256デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/26(水) 00:08:13.65ID:nZ7x0XR+0
まずいまどきアセンブラなんか手書きでなんか書かない
C言語をコンパイルするとアセンブルしてしてアセンブラをコンパイルする
すると実行モジュールができる(コレがチミがバイナリと読んでるものになる)

WinAPIやDirectX APIはOSが提供するアプリケーションインターフェースになる
それをさっき書いたC言語から利用することができる

で、C言語に限定されないが、そういった開発を
知恵遅れでもできる環境を提供するのがIDEとよばれるものだ
当然、viでコードやmakefileをシコシコ書いてコンパイルするのもありだが
今時いちいちそんなめんどいコトやってるヤツは希少種といっていい

とりあえず今ココではJavaはおいとく
257デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 00:09:35.96ID:I4Gvy1+q0
なんか根本的な事を教えてくれて泣けてきます
wiki見ても端折ってばかりで理解できなかったんで嬉しいです
でもそれでも分かりません…
2018/09/26(水) 00:09:53.01ID:h9A6ffHl0
>>254
すみません、APIをコンパイルではなくAPIをリンクの間違いでした。
259デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 00:11:25.00ID:I4Gvy1+q0
知恵遅れでもできる環境

僕が使ってるのはCygwinとVisualStudioですね
学校の課題はCygwin推奨ですが、何故かVisualStudioも入れられましたw
2018/09/26(水) 00:13:32.35ID:OuxizmKlM
>>257
まず、windowsAPIはC言語等の関数として提供されてるのはわかる?
そんでその関数のソースコードは公開されていない。だから、自分が書いたソースコードだけをmacに持っていってもソースコードが足りないので動かない。

仮にソースコードを手に入れたとしても、内部でwindowsのカーネル(コアとなるソフト)だけが提供している機能を利用使って実装されているから、やはりmacに持ち込むことはできない。
2018/09/26(水) 00:14:11.60ID:HESLqYz40
>>259
余談だけど、半角カナにこだわりのある通称半角クンに知恵遅れとか言われても気にする必要ないぞ。彼にとってただの二人称代名詞だから。
2018/09/26(水) 00:16:23.80ID:0JN26GcE0
>>256
ワイは希少種やったんか
世間じゃカーネルモジュールはどんな開発環境でやってるんや?
2018/09/26(水) 00:17:32.29ID:h9A6ffHl0
オレが書いたC言語のプログラムを機械語に変換すればようやくコンピュータで実行できるようになります。

APIは既に機械語に変換されているか、オレの書いたC言語と一緒に機械に変換されてからオレの機械語と結合して使われます。
264デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 00:17:40.67ID:I4Gvy1+q0
>>260
まったく分かりません
WinAPIがC言語が混ざったらもう何がCでAPIなのか
もうわけわかりません
265デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/26(水) 00:18:24.20ID:nZ7x0XR+0
で、javaはコンパイルするとバイトコードに変換される
で、そのできあがったバイトコードはJavaVM(コレがチミがバイナリと読んでるものになる)で動かすことができる
昔のpascalのpコードのパチモンと考えればいい

そっから、さらに進んでバイトコードをjitコンパイラでコンパイルするしくみもあったりする
それ使うと実行モジュール(コレがチミがバイナリと読んでるものになる)ができてしまったりもする
ただ、その実行モジュールはターゲットマシンでないと動かない

で、当然、javaもeclipseみたいなIDE使って開発できる

わかった?
266デフォルトの名無しさん (ワッチョイ 42d2-MW2F)
垢版 |
2018/09/26(水) 00:18:39.07ID:ZP32HEFJ0
>>254
低級・高級(Low-Level/High-Level)は
言語体系がハードウェア実装=CPUに近いか
人間語に近いかどうかの話で
性能とは一切関係がない
(という話は確実に教科書に書いてあるはず)

CPUはバイナリしか解釈しないから
どんな言語を使ってもコンパイル作業が要る
2018/09/26(水) 00:22:18.55ID:OuxizmKlM
>>264
とりあえず、Cで何度かプログラム書いてみたらいいんじゃないかな。
知識だけ身につけると頭でっかちになっちゃうからね。
268デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 00:23:21.36ID:I4Gvy1+q0
>>266
C言語は言語の中では最速だというのは教科書に書いてましたよ
2018/09/26(水) 00:24:33.00ID:T1RBGvug0
>>264
Cで書いたソースの多分先頭付近に並んでいると思う
#include で始まる行の部分だけでも公開してみて
WindowsAPIの為に入っている行を取り除けば
(このままではコンパイルエラーになるかも知れないが)
Wacに持っていく入り口にはたどり着ける
270デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/26(水) 00:26:15.28ID:nZ7x0XR+0
たとえばmacで
WinAPIと同じインターフェースもつ同じ機能のAPI(書くことができるかどうかは別ににして)を
Cで書くとmacでwindowが動く

時間があるならついでに
なんで、POSIXというもんがあるか調べてみるといい
271デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 00:26:28.94ID:I4Gvy1+q0
>>269
#include<stdio.h>
int main(void)
{
〜中身〜
}
です。
int main
stdio.h
の二つはおまじないと聞きました
2018/09/26(水) 00:31:29.48ID:T1RBGvug0
>>271
ホントにそれだけなら、そのまま
Macに持って行けるんじゃないか?
あとはMac側でコンパイラが使えるかどうか、だな
VCでないと困る事ある?
MacでやるならXcodeと言うのを使った方が良いように思うが
2018/09/26(水) 00:32:08.86ID:OuxizmKlM
最初にWindowsAPIなんて言い出したやつは出てこい!!

  ドッカン   ゴガギーン
    _ ドッカン  ☆
===( )   /
`∧∧_||___ ∧∧
(  )|||   |(Д`)
f  ⌒~ ||   ||  \
|  / ̄ |   |/| / /
|  |  | ヘ/\|_/ /
|  | ロ|ロ\/\(_ノ)
( (_ \ |   | Y /
| ||\ ヽ|   | ||
| || / / |   | ||
| ||/ /_|___| ||
(_(_)     (__)
274デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/26(水) 00:32:38.48ID:nZ7x0XR+0
そういうコードだったら
macでコンパイルしなおせば
普通に動くハズ
2018/09/26(水) 00:33:06.80ID:HESLqYz40
>>268
C言語が速いんじゃないんだよ。
C言語で書かれたソースをコンパイルして生成されたバイナリコードが速いんだよ。それはCPUが直接実行できる形式だから。
別に他の言語でも、コンパイルしてバイナリコードが生成できるものは、本質的にはCと同じ。

遅いのは、バイナリコードを生成せずに、その言語固有のコードを生成して、それを別のプログラムが解釈しながら実行するようなタイプの言語だよ。例えばJAVAのような。(実行時コンパイルとかはこの際おいておく)
2018/09/26(水) 00:33:58.19ID:0JN26GcE0
>>271
おまじないは一個要らへんで
$ cat test-printf.c
int main(void)
{
printf("Hello\n");
return 0;
}
$ gcc test-printf.c 2> /dev/null
$ ./a.out
Hello
277デフォルトの名無しさん (ワッチョイ 42d2-MW2F)
垢版 |
2018/09/26(水) 00:34:42.00ID:ZP32HEFJ0
>>268
それは教科書がおかしいか誤読してると思われる
「現代の高級言語の中では最速のバイナリをビルドできることが多い」
とかならまあありだが
2018/09/26(水) 00:37:18.40ID:3GYry5Z9a
OSによって動くコード(アセンブリ)が違う

CでもC++とかで書いたコードをコンパイルする時にその対象のOSで動くように機械語に変換される
なので同じCやC++のコードでもコンパイルできれば動くプログラムが作成できる

しかし、標準ライブラリ以外はその対象OS用に用意されていない場合もあるのでそういうライブラリを使用した場合コンパイルが出来ない
2018/09/26(水) 00:37:56.89ID:tnf9UX1gM
ちょっと教科書名教えてくれwww
280デフォルトの名無しさん (ワッチョイ 42d2-MW2F)
垢版 |
2018/09/26(水) 00:38:29.20ID:ZP32HEFJ0
てかレポート出すような講義で「おまじない」で済ますもんなのか最近は
最初の質問もexeをそのままMacに持っていって動きますか?だったのかも
281デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/26(水) 00:43:17.15ID:nZ7x0XR+0
cygwin入ってると書いてあった
きっとgccもはいってるハズ
手動でコンパイルすればすぐに実行モジュールができるハズ
2018/09/26(水) 00:45:01.24ID:9UO6BO9+0
>>231
標準入力やファイルからテキストのデータを読んで計算してから標準出力またはファイルに出力するような
ほとんど計算しかしないようなやつなら何一つ変えずにコンパイルできる可能性がある。
しかしGUIで入力を受け付けてGUIで結果表示みたいな作りの場合はその部分だけMacに合わせて変更する
必要があると思う。(もし互換性のあるライブラリがあるのであればそれをリンクすればなんとかなるが)。
2018/09/26(水) 00:45:48.08ID:9UO6BO9+0
しまった。リロード忘れて書いてしまった。
2018/09/26(水) 01:37:55.43ID:P+3GV8ah0
バイナリは、各CPU に固有のもの。
intel・AT&T では逆に書く

; for intel syntax
mov eax, 1

# for AT&T syntax
mov $1, %eax

これらを抽象化する層、仮想アセンブラのLLVM ができた

C → LLVM → 機械語
2018/09/26(水) 02:25:42.64ID:p8TYnMT50
テキストファイルを#includeしたりするのっておもしろそうと思った。
#include "file.txt"
使い道がほとんど思いつかんけど。
正規化されたcsvファイルなら有用かもしれない。
286デフォルトの名無しさん (ワッチョイ 469f-coYL)
垢版 |
2018/09/26(水) 02:56:13.26ID:9UO6BO9+0
>>285
XPM や XBM フォーマットの画像ファイルは中身がテキストファイルでC言語になっているので、
プログラム中で使いたい時に #include で読むなんてことを昔やった事がある。
今でも画像を編集するソフトではそういうフォーマットに対応しているのがあるかも知れない。
あったら画像をファイルに保存後に中身をテキストエディタで見てみると良い。

XBM
http://sei.qee.jp/docs/graphics/xbm/index.html
https://en.wikipedia.org/wiki/X_BitMap
XPM
https://ja.wikipedia.org/wiki/XPM
2018/09/26(水) 02:57:00.82ID:tnf9UX1gM
ただしコンパイルはできるかな?
2018/09/26(水) 03:16:42.67ID:p8TYnMT50
XPMか。FVWMあたりのソースコード見れば実際に利用してるところがあるかもね。
なぜFVWMかと言うと ある程度小さくて読みやすいかなと思ったから。
2018/09/26(水) 04:48:38.00ID:p8TYnMT50
ていうかさ なんで
#include "file.txt"
なんていうことをやろうかと思ったかというとさ,

よくアプリケーションのオプションで--helpみたいなオプションがあってそれを指定すると
標準出力にヘルプ情報を吐き出すじゃない。
で,普通それを実現するには,print_help()関数みたいなのを作って
その中で
puts("Usage: xxx [-dx] <file>...");
↑こういうのをずらずら書きならべると思うんだよ。
http://git.savannah.gnu.org/cgit/hello.git/tree/src/hello.c#n127←こんな風に。
で,そのヘルプファイルを外部ファイルにできないかな〜と思ってさ。
print_help() {
puts("
#include "help.txt"
");
return 0
}
こういう感じで。もちろんこれはコンパイルエラーになるけど。
2018/09/26(水) 06:52:38.46ID:ME0063O80
普通にfopen(),fgets()しろよ
291デフォルトの名無しさん (ワッチョイ 2ee8-IBuP)
垢版 |
2018/09/26(水) 07:02:15.89ID:KRhEkOMN0
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;;  #include "file.txt"
  ヾ;;;ハ    ノ       .::!lリ;;r゙
   `Z;i   〈.,_..,.      ノ;;;;;;;;>  そんなふうに考えていた時期が
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f.   俺にもありました
   ~''戈ヽ   `二´    r'´:::. `!
2018/09/26(水) 07:12:11.89ID:Ozpnqin20
argv[0]を使わずにusage表示するやつ嫌い
2018/09/26(水) 07:27:14.31ID:3KpC5Lnu0
>>290
実行ファイル内に組み込みたいんじゃないの
2018/09/26(水) 07:40:06.18ID:slacS0cU0
includeするファイルの拡張子が.hか.txtなんて関係ないよな。
中身がCのコードとして解釈できるかどうかだけで。
2018/09/26(水) 09:03:42.94ID:X1sPOZNr0
>>292
おれは好きだよ
argv[0]の長さとかわからないし、不安になるもんね
2018/09/26(水) 09:06:37.66ID:3KpC5Lnu0
独学で始めたての頃はリンカを知らなかったから、.c も全部 include してまとめてコンパイルしてたw
297デフォルトの名無しさん (アウアウカー Sae9-rLjT)
垢版 |
2018/09/26(水) 09:48:26.11ID:QtvShas/a
>>292
かといって argv[0] って必ずプログラムファイルへのフルパスの文字列になってる保証はないよな?
UNIX系OSだとexecに渡す引数は実行するプログラムへのパスとargvの配列は別に指定できるしシェルは自身がログインシェルとして起動されたかどうかをargv[0]利用して判別してるし。
2018/09/26(水) 09:54:31.75ID:+QPOg/oyM
組み込みでreal型を使うメリットってなんでしょうか?
floatやdouble型との違いを教えて頂けないでしょうか?
2018/09/26(水) 09:58:20.00ID:wpdgBSuMa
「パス」は正しくないでしょ
ユーザがシェルに入力した文字列が入るわけで
2018/09/26(水) 10:04:04.84ID:wpdgBSuMa
real型ってなんだ?
D?
2018/09/26(水) 10:17:13.10ID:Ozpnqin20
>>297
フルパスである必要はない
そんなのはwhichで出るから重複もいいとこ
2018/09/26(水) 13:07:42.63ID:tnf9UX1gM
好きか嫌いかより規格で語れよ!!
2018/09/26(水) 13:15:13.67ID:GcxNqKYyM
で?
304デフォルトの名無しさん (アウアウカー Sae9-rLjT)
垢版 |
2018/09/26(水) 17:10:26.81ID:dsR47lxwa
>>301
argv[0] が "-" だったらどうするよ。
2018/09/26(水) 17:10:59.41ID:p8TYnMT50
まあやっぱり#include "file.txt"なんて常人は考えねーよなw
いろいろすまんかった。
2018/09/26(水) 17:23:34.23ID:T1RBGvug0
>>305
使い道はあるよ
多量のマクロ定義リストを読ませるとか
2018/09/26(水) 17:27:31.74ID:lDpRvfaq0
ビットマップを本体のコードに埋め込むのに

char data[] = {
#include "bitdata.inl"
};

とかやった。 bitdata.inl は別のソフトで生成
2018/09/26(水) 17:33:26.10ID:lncCaYQKM
>>307
disるつもりはないし状況も分からんのだけど、バイナリデータをコードに埋め込んでコンパイルかけるのは筋が悪いような?
309デフォルトの名無しさん (アウアウカー Sae9-rLjT)
垢版 |
2018/09/26(水) 17:35:54.43ID:dsR47lxwa
XPMやXBMみたいなテキストなんだろ
2018/09/26(水) 17:36:31.54ID:cOtTFh6NM
>>305
file.txt を C の文字列にした file.c なり file.h なりを作る簡単なスクリプトなり書いて、make ファイルでそれが動いて取り込まれるようにすりゃいいんじゃね。

usage:
-h help
-u unko

みたいなテキストを
#define USAGE "¥
usage:¥n¥
-h help¥n¥
-u unko ¥n¥
"

みたいな define か何かにすればいい。
2018/09/26(水) 17:37:28.54ID:T1RBGvug0
大量のテーブルデータをマクロ型式で記述して
includeの直前でマクロを望む内容で定義すると便利
2018/09/26(水) 17:40:44.37ID:lDpRvfaq0
>>308
(Windowsの話)
ライブラリを作ってるときに、そこで使いたかったんだが(ImageList)
リソースというわけにもいかず、ファイルを読み込むのもライブラリ化の意図からずれるし で
埋め込んだのよ

簡単に肥大化するから筋が悪いのは半分承知
2018/09/26(水) 17:41:52.02ID:lDpRvfaq0
ああ 件のファイルは 0x○○, 0x○○, … なテキストのファイルです
2018/09/26(水) 17:50:39.66ID:lncCaYQKM
>>312
ああ、なるほど。
まぁ俺も組み込みでビルド番号を自動生成してソースにincludeで組み込むこともあるので人のことは言えないけど。
315デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 20:19:36.31ID:I4Gvy1+q0
WindowsAPIを機械語にするソフトを機械語にするソフトを機械語にするソフトを…
って考えたらまた頭が混乱してしまいました…
2018/09/26(水) 20:25:14.53ID:07am72nua
APIとはインターフェースである。
見えるのは表面だけで中身なんてどうなってるかわからない。
317デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 20:29:26.48ID:I4Gvy1+q0
CのコンパイラはWinAPIでしかかけないってことですか?
2018/09/26(水) 20:41:32.38ID:zSos1f990
Advanced windows買って読め じゃ乱暴か…
319デフォルトの名無しさん (アウアウカー Sae9-rLjT)
垢版 |
2018/09/26(水) 20:43:53.50ID:MrbR9bENa
>>315
まずはWindowsAPIとは何なのかを調べろ。話はそれからだ。
2018/09/26(水) 20:45:37.17ID:p8TYnMT50
>>310
にゃるほど。
まあ それでもいいんだけど,結局変換の手間があるんだよね。
しかし一度でも.hか.cファイルを作ったらあとはそれを#includeすれば
複数のファイルに使えるってのは有用かもしれん。
Usageでは↑複数には適用できないけど,ライセンスとか。
2018/09/26(水) 21:08:33.17ID:07am72nua
Cのコンパイラがpythonで書かれていようと俺は一向に構わんがインターフェースでどうやって書くのかは知らない
2018/09/26(水) 21:29:52.27ID:h9A6ffHl0
>>315
最初のコンパイラは人間が手入力でバイナリを書いた
323デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 21:40:12.24ID:I4Gvy1+q0
>>321
CをコンパイルするのはWindowsAPIって昨日聞きましたが?
C自体では動かないのだからWindowsAPIでコンパイルするのでは?
2018/09/26(水) 21:45:31.26ID:T1RBGvug0
>>323
誰もそんな事言って無いだろう

探したけどないぞ、そんなの
2018/09/26(水) 21:48:20.48ID:Jt0rVGX10
いい加減、釣りだと気づけよw
てかみんな気付いた上で相手してるのか。
2018/09/26(水) 21:49:37.93ID:h9A6ffHl0
>>323
Winapiでコンパイルじゃなくてwinapiとリンクと間違いだったって言ったやん
2018/09/26(水) 22:07:50.72ID:MrhohV/JM
>>322
流石に最初のコンパイラはアセンブリ言語だろ
最初のアセンブラはバイナリ入力しただろうけど
328デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 22:09:29.37ID:I4Gvy1+q0
コンパイラはWindowsAPIの実装を知ってる人じゃないと作れないってことですか?
よくコンパイラ入門なんて本あるけど作れるんでしょうか?
2018/09/26(水) 22:18:36.87ID:T1RBGvug0
WindowsAPIは直接コンパイラとは関係ない
2018/09/26(水) 22:22:27.92ID:Ozpnqin20
>>304
さあねえ
どうしろって言いたいの?
331デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 22:33:54.33ID:I4Gvy1+q0
WinAPIはインターフェースだけを提供していて実装は分からない
つまりコンパイラを考える人はMicrosoftの開発者だけってことですか?
それだとコンパイラ入門ってどういうことなんでしょうか?
2018/09/26(水) 22:40:30.36ID:07am72nua
1950年代にもうそれなりのアセンブリあるんだからすごいよね。
みんな頭いいんだな。
2018/09/26(水) 22:41:00.36ID:T1RBGvug0
>>331
君はコンパイラを使いたいのか
それともコンパイラを作りたいのか
334デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 22:44:12.95ID:I4Gvy1+q0
すいません
正直話すと
レポートってのは2年のとき落とした履修で
今は卒論でコンパイラ作りたいんです…
つまりダブルということになります…
2018/09/26(水) 22:48:53.63ID:cOtTFh6NM
>>334
とりあえずアセンブラでも作ってみたら。
コンパイラ作るよりずっと簡単だけど、いろいろ学べることは多いと思うよ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況