- 1 名前:デフォルトの名無しさん [2018/09/19(水) 17:56:50.83 ID:XSTNMnDwa.net]
- C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C99 www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 www.kouno.jp/home/c_faq/ JPCERT C コーディングスタンダード https://www.jpcert.or.jp/sc-rules/ ※前スレ C言語なら俺に聞け 147 mevius.5ch.net/test/read.cgi/tech/1534430162/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
- 267 名前:デフォルトの名無しさん [2018/09/26(水) 00:09:35.96 ID:I4Gvy1+q0.net]
- なんか根本的な事を教えてくれて泣けてきます
wiki見ても端折ってばかりで理解できなかったんで嬉しいです でもそれでも分かりません…
- 268 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:09:53.01 ID:h9A6ffHl0.net]
- >>255
すみません、APIをコンパイルではなくAPIをリンクの間違いでした。
- 269 名前:デフォルトの名無しさん [2018/09/26(水) 00:11:25.00 ID:I4Gvy1+q0.net]
- 知恵遅れでもできる環境
僕が使ってるのはCygwinとVisualStudioですね 学校の課題はCygwin推奨ですが、何故かVisualStudioも入れられましたw
- 270 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:13:32.35 ID:OuxizmKlM.net]
- >>258
まず、windowsAPIはC言語等の関数として提供されてるのはわかる? そんでその関数のソースコードは公開されていない。だから、自分が書いたソースコードだけをmacに持っていってもソースコードが足りないので動かない。 仮にソースコードを手に入れたとしても、内部でwindowsのカーネル(コアとなるソフト)だけが提供している機能を利用使って実装されているから、やはりmacに持ち込むことはできない。
- 271 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:14:11.60 ID:HESLqYz40.net]
- >>260
余談だけど、半角カナにこだわりのある通称半角クンに知恵遅れとか言われても気にする必要ないぞ。彼にとってただの二人称代名詞だから。
- 272 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:16:23.80 ID:0JN26GcE0.net]
- >>257
ワイは希少種やったんか 世間じゃカーネルモジュールはどんな開発環境でやってるんや?
- 273 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:17:32.29 ID:h9A6ffHl0.net]
- オレが書いたC言語のプログラムを機械語に変換すればようやくコンピュータで実行できるようになります。
APIは既に機械語に変換されているか、オレの書いたC言語と一緒に機械に変換されてからオレの機械語と結合して使われます。
- 274 名前:デフォルトの名無しさん [2018/09/26(水) 00:17:40.67 ID:I4Gvy1+q0.net]
- >>261
まったく分かりません WinAPIがC言語が混ざったらもう何がCでAPIなのか もうわけわかりません
- 275 名前:デフォルトの名無しさん [2018/09/26(水) 00:18:24.20 ID:nZ7x0XR+0.net]
- で、javaはコンパイルするとバイトコードに変換される
で、そのできあがったバイトコードはJavaVM(コレがチミがバイナリと読んでるものになる)で動かすことができる 昔のpascalのpコードのパチモンと考えればいい そっから、さらに進んでバイトコードをjitコンパイラでコンパイルするしくみもあったりする それ使うと実行モジュール(コレがチミがバイナリと読んでるものになる)ができてしまったりもする ただ、その実行モジュールはターゲットマシンでないと動かない で、当然、javaもeclipseみたいなIDE使って開発できる わかった?
- 276 名前:デフォルトの名無しさん [2018/09/26(水) 00:18:39.07 ID:ZP32HEFJ0.net]
- >>255
低級・高級(Low-Level/High-Level)は 言語体系がハードウェア実装=CPUに近いか 人間語に近いかどうかの話で 性能とは一切関係がない (という話は確実に教科書に書いてあるはず) CPUはバイナリしか解釈しないから どんな言語を使ってもコンパイル作業が要る
- 277 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:22:18.55 ID:OuxizmKlM.net]
- >>265
とりあえず、Cで何度かプログラム書いてみたらいいんじゃないかな。 知識だけ身につけると頭でっかちになっちゃうからね。
- 278 名前:デフォルトの名無しさん [2018/09/26(水) 00:23:21.36 ID:I4Gvy1+q0.net]
- >>267
C言語は言語の中では最速だというのは教科書に書いてましたよ
- 279 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:24:33.00 ID:T1RBGvug0.net]
- >>265
Cで書いたソースの多分先頭
- 280 名前:t近に並んでいると思う
#include で始まる行の部分だけでも公開してみて WindowsAPIの為に入っている行を取り除けば (このままではコンパイルエラーになるかも知れないが) Wacに持っていく入り口にはたどり着ける [] - [ここ壊れてます]
- 281 名前:デフォルトの名無しさん [2018/09/26(水) 00:26:15.28 ID:nZ7x0XR+0.net]
- たとえばmacで
WinAPIと同じインターフェースもつ同じ機能のAPI(書くことができるかどうかは別ににして)を Cで書くとmacでwindowが動く 時間があるならついでに なんで、POSIXというもんがあるか調べてみるといい
- 282 名前:デフォルトの名無しさん [2018/09/26(水) 00:26:28.94 ID:I4Gvy1+q0.net]
- >>270
#include<stdio.h> int main(void) { 〜中身〜 } です。 int main stdio.h の二つはおまじないと聞きました
- 283 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:31:29.48 ID:T1RBGvug0.net]
- >>272
ホントにそれだけなら、そのまま Macに持って行けるんじゃないか? あとはMac側でコンパイラが使えるかどうか、だな VCでないと困る事ある? MacでやるならXcodeと言うのを使った方が良いように思うが
- 284 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:32:08.86 ID:OuxizmKlM.net]
- 最初にWindowsAPIなんて言い出したやつは出てこい!!
ドッカン ゴガギーン _ ドッカン ☆ ===( ) / `∧∧_||___ ∧∧ ( )||| |(Д`) f ⌒~ || || \ | / ̄ | |/| / / | | | ヘ/\|_/ / | | ロ|ロ\/\(_ノ) ( (_ \ | | Y / | ||\ ヽ| | || | || / / | | || | ||/ /_|___| || (_(_) (__)
- 285 名前:デフォルトの名無しさん [2018/09/26(水) 00:32:38.48 ID:nZ7x0XR+0.net]
- そういうコードだったら
macでコンパイルしなおせば 普通に動くハズ
- 286 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:33:06.80 ID:HESLqYz40.net]
- >>269
C言語が速いんじゃないんだよ。 C言語で書かれたソースをコンパイルして生成されたバイナリコードが速いんだよ。それはCPUが直接実行できる形式だから。 別に他の言語でも、コンパイルしてバイナリコードが生成できるものは、本質的にはCと同じ。 遅いのは、バイナリコードを生成せずに、その言語固有のコードを生成して、それを別のプログラムが解釈しながら実行するようなタイプの言語だよ。例えばJAVAのような。(実行時コンパイルとかはこの際おいておく)
- 287 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:33:58.19 ID:0JN26GcE0.net]
- >>272
おまじないは一個要らへんで $ cat test-printf.c int main(void) { printf("Hello\n"); return 0; } $ gcc test-printf.c 2> /dev/null $ ./a.out Hello
- 288 名前:デフォルトの名無しさん [2018/09/26(水) 00:34:42.00 ID:ZP32HEFJ0.net]
- >>269
それは教科書がおかしいか誤読してると思われる 「現代の高級言語の中では最速のバイナリをビルドできることが多い」 とかならまあありだが
- 289 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:37:18.40 ID:3GYry5Z9a.net]
- OSによって動くコード(アセンブリ)が違う
CでもC++とかで書いたコードをコンパイルする時にその対象のOSで動くように機械語に変換される なので同じCやC++のコードでもコンパイルできれば動くプログラムが作成できる しかし、標準ライブラリ以外はその対象OS用に用意されていない場合もあるのでそういうライブラリを使用した場合コンパイルが出来ない
- 290 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:37:56.89 ID:tnf9UX1gM.net]
- ちょっと教科書名教えてくれwww
- 291 名前:デフォルトの名無しさん [2018/09/26(水) 00:38:29.20 ID:ZP32HEFJ0.net]
- てかレポート出すような講義で「おまじない」で済ますもんなのか最近は
最初の質問もexeをそのままMacに持っていって動きますか?だったのかも
- 292 名前:デフォルトの名無しさん [2018/09/26(水) 00:43:17.15 ID:nZ7x0XR+0.net]
- cygwin入ってると書いてあった
きっとgccもはいってるハズ 手動でコンパイルすればすぐに実行モジュールができるハズ
- 293 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:45:01.24 ID:9UO6BO9+0.net]
- >>232
標準入力やファイルからテキストのデ
- 294 名前:ータを読んで計算してから標準出力またはファイルに出力するような
ほとんど計算しかしないようなやつなら何一つ変えずにコンパイルできる可能性がある。 しかしGUIで入力を受け付けてGUIで結果表示みたいな作りの場合はその部分だけMacに合わせて変更する 必要があると思う。(もし互換性のあるライブラリがあるのであればそれをリンクすればなんとかなるが)。 [] - [ここ壊れてます]
- 295 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:45:48.08 ID:9UO6BO9+0.net]
- しまった。リロード忘れて書いてしまった。
- 296 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 01:37:55.43 ID:P+3GV8ah0.net]
- バイナリは、各CPU に固有のもの。
intel・AT&T では逆に書く ; for intel syntax mov eax, 1 # for AT&T syntax mov $1, %eax これらを抽象化する層、仮想アセンブラのLLVM ができた C → LLVM → 機械語
- 297 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 02:25:42.64 ID:p8TYnMT50.net]
- テキストファイルを#includeしたりするのっておもしろそうと思った。
#include "file.txt" 使い道がほとんど思いつかんけど。 正規化されたcsvファイルなら有用かもしれない。
- 298 名前:デフォルトの名無しさん [2018/09/26(水) 02:56:13.26 ID:9UO6BO9+0.net]
- >>286
XPM や XBM フォーマットの画像ファイルは中身がテキストファイルでC言語になっているので、 プログラム中で使いたい時に #include で読むなんてことを昔やった事がある。 今でも画像を編集するソフトではそういうフォーマットに対応しているのがあるかも知れない。 あったら画像をファイルに保存後に中身をテキストエディタで見てみると良い。 XBM sei.qee.jp/docs/graphics/xbm/index.html https://en.wikipedia.org/wiki/X_BitMap XPM https://ja.wikipedia.org/wiki/XPM
- 299 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 02:57:00.82 ID:tnf9UX1gM.net]
- ただしコンパイルはできるかな?
- 300 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 03:16:42.67 ID:p8TYnMT50.net]
- XPMか。FVWMあたりのソースコード見れば実際に利用してるところがあるかもね。
なぜFVWMかと言うと ある程度小さくて読みやすいかなと思ったから。
- 301 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 04:48:38.00 ID:p8TYnMT50.net]
- ていうかさ なんで
#include "file.txt" なんていうことをやろうかと思ったかというとさ, よくアプリケーションのオプションで--helpみたいなオプションがあってそれを指定すると 標準出力にヘルプ情報を吐き出すじゃない。 で,普通それを実現するには,print_help()関数みたいなのを作って その中で puts("Usage: xxx [-dx] <file>..."); ↑こういうのをずらずら書きならべると思うんだよ。 git.savannah.gnu.org/cgit/hello.git/tree/src/hello.c#n127←こんな風に。 で,そのヘルプファイルを外部ファイルにできないかな〜と思ってさ。 print_help() { puts(" #include "help.txt" "); return 0 } こういう感じで。もちろんこれはコンパイルエラーになるけど。
- 302 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 06:52:38.46 ID:ME0063O80.net]
- 普通にfopen(),fgets()しろよ
- 303 名前:デフォルトの名無しさん [2018/09/26(水) 07:02:15.89 ID:KRhEkOMN0.net]
- ,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;;
{;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; #include "file.txt" ヾ;;;ハ ノ .::!lリ;;r゙ `Z;i 〈.,_..,. ノ;;;;;;;;> そんなふうに考えていた時期が ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f. 俺にもありました ~''戈ヽ `二´ r'´:::. `!
- 304 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 07:12:11.89 ID:Ozpnqin20.net]
- argv[0]を使わずにusage表示するやつ嫌い
- 305 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 07:27:14.31 ID:3KpC5Lnu0.net]
- >>291
実行ファイル内に組み込みたいんじゃないの
- 306 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 07:40:06.18 ID:slacS0cU0.net]
- includeするファイルの拡張子が.hか.txtなんて関係ないよな。
中身がCのコードとして解釈できるかどうかだけで。
- 307 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 09:03:42.94 ID:X1sPOZNr0.net]
- >>293
おれは好きだよ argv[0]の長さとかわからないし、不安になるもんね
- 308 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 09:06:37.66 ID:3KpC5Lnu0.net]
- 独学で始めたての頃はリンカを知らなかったから、.c も全部 include してまとめてコンパイルしてたw
- 309 名前:デフォルトの名無しさん [2018/09/26(水) 09:48:26.11 ID:QtvShas/a.net]
- >>293
かといって argv[0] って必ずプログラムファイルへのフルパスの文字列になってる保証はないよな? UNIX系OSだとexecに渡す引数は実行するプログラムへのパスとargvの配列は別に指定できるしシェルは自身がログインシェルとして起動されたかどうかをargv[0]利用して判別してるし。
- 310 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 09:54:31.75 ID:+QPOg/oyM.net]
- 組み込みでreal型を使うメリットってなんでしょうか?
floatやdouble型との違いを教えて頂けないでしょうか?
- 311 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 09:58:20.00 ID:wpdgBSuMa.net]
- 「パス」は正しくないでしょ
ユーザがシェルに入力した文字列が入るわけで
- 312 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 10:04:04.84 ID:wpdgBSuMa.net]
- real型ってなんだ?
D?
- 313 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 10:17:13.10 ID:Ozpnqin20.net]
- >>298
フルパスである必要はない そんなのはwhichで出るから重複もいいとこ
- 314 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 13:07:42.63 ID:tnf9UX1gM.net]
- 好きか嫌いかより規格で語れよ!!
- 315 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 13:15:13.67 ID:GcxNqKYyM.net]
- で?
- 316 名前:デフォルトの名無しさん [2018/09/26(水) 17:10:26.81 ID:dsR47lxwa.net]
- >>302
argv[0] が "-" だったらどうするよ。
- 317 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:10:59.41 ID:p8TYnMT50.net]
- まあやっぱり#include "file.txt"なんて常人は考えねーよなw
いろいろすまんかった。
- 318 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:23:34.23 ID:T1RBGvug0.net]
- >>306
使い道はあるよ 多量のマクロ定義リストを読ませるとか
- 319 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:27:31.74 ID:lDpRvfaq0.net]
- ビットマップを本体のコードに埋め込むのに
char data[] = { #include "bitdata.inl" }; とかやった。 bitdata.inl は別のソフトで生成
- 320 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:33:26.10 ID:lncCaYQKM.net]
- >>308
disるつもりはないし状況も分からんのだけど、バイナリデータをコードに埋め込んでコンパイルかけるのは筋が悪いような?
- 321 名前:デフォルトの名無しさん [2018/09/26(水) 17:35:54.43 ID:dsR47lxwa.net]
- XPMやXBMみたいなテキストなんだろ
- 322 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:36:31.54 ID:cOtTFh6NM.net]
- >>306
file.txt を C の文字列にした file.c なり file.h なりを作る簡単なスクリプトなり書いて、make ファイルでそれが動いて取り込まれるようにすりゃいいんじゃね。 usage: -h help -u unko みたいなテキストを #define USAGE "¥ usage:¥n¥ -h help¥n¥ -u unko ¥n¥ " みたいな define か何かにすればいい。
- 323 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:37:28.54 ID:T1RBGvug0.net]
- 大量のテーブルデータをマクロ型式で記述して
includeの直前でマクロを望む内容で定義すると便利
- 324 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:40:44.37 ID:lDpRvfaq0.net]
- >>309
(Windowsの話) ライブラリを作ってるときに、そこで使いたかったんだが(ImageList) リソースというわけにもいかず、ファイルを読み込むのもライブラリ化の意図からずれるし で 埋め込んだのよ 簡単に肥大化するから筋が悪いのは半分承知
- 325 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:41:52.02 ID:lDpRvfaq0.net]
- ああ 件のファイルは 0x○○, 0x○○, … なテキストの
- 326 名前:tァイルです []
- [ここ壊れてます]
- 327 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:50:39.66 ID:lncCaYQKM.net]
- >>313
ああ、なるほど。 まぁ俺も組み込みでビルド番号を自動生成してソースにincludeで組み込むこともあるので人のことは言えないけど。
- 328 名前:デフォルトの名無しさん [2018/09/26(水) 20:19:36.31 ID:I4Gvy1+q0.net]
- WindowsAPIを機械語にするソフトを機械語にするソフトを機械語にするソフトを…
って考えたらまた頭が混乱してしまいました…
- 329 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 20:25:14.53 ID:07am72nua.net]
- APIとはインターフェースである。
見えるのは表面だけで中身なんてどうなってるかわからない。
- 330 名前:デフォルトの名無しさん [2018/09/26(水) 20:29:26.48 ID:I4Gvy1+q0.net]
- CのコンパイラはWinAPIでしかかけないってことですか?
- 331 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 20:41:32.38 ID:zSos1f990.net]
- Advanced windows買って読め じゃ乱暴か…
- 332 名前:デフォルトの名無しさん [2018/09/26(水) 20:43:53.50 ID:MrbR9bENa.net]
- >>316
まずはWindowsAPIとは何なのかを調べろ。話はそれからだ。
- 333 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 20:45:37.17 ID:p8TYnMT50.net]
- >>311
にゃるほど。 まあ それでもいいんだけど,結局変換の手間があるんだよね。 しかし一度でも.hか.cファイルを作ったらあとはそれを#includeすれば 複数のファイルに使えるってのは有用かもしれん。 Usageでは↑複数には適用できないけど,ライセンスとか。
- 334 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 21:08:33.17 ID:07am72nua.net]
- Cのコンパイラがpythonで書かれていようと俺は一向に構わんがインターフェースでどうやって書くのかは知らない
- 335 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 21:29:52.27 ID:h9A6ffHl0.net]
- >>316
最初のコンパイラは人間が手入力でバイナリを書いた
- 336 名前:デフォルトの名無しさん [2018/09/26(水) 21:40:12.24 ID:I4Gvy1+q0.net]
- >>322
CをコンパイルするのはWindowsAPIって昨日聞きましたが? C自体では動かないのだからWindowsAPIでコンパイルするのでは?
- 337 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 21:45:31.26 ID:T1RBGvug0.net]
- >>324
誰もそんな事言って無いだろう 探したけどないぞ、そんなの
- 338 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 21:48:20.48 ID:Jt0rVGX10.net]
- いい加減、釣りだと気づけよw
てかみんな気付いた上で相手してるのか。
- 339 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 21:49:37.93 ID:h9A6ffHl0.net]
- >>324
Winapiでコンパイルじゃなくてwinapiとリンクと間違いだったって言ったやん
- 340 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:07:50.72 ID:MrhohV/JM.net]
- >>323
流石に最初のコンパイラはアセンブリ言語だろ 最初のアセンブラはバイナリ入力しただろうけど
- 341 名前:デフォルトの名無しさん [2018/09/26(水) 22:09:29.37 ID:I4Gvy1+q0.net]
- コンパイラはWindowsAPIの実装を知ってる人じゃないと作れないってことですか?
よくコンパイラ入門なんて本あるけど作れるんでしょうか?
- 342 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:18:36.87 ID:T1RBGvug0.net]
- WindowsAPIは直接コンパイラとは関係ない
- 343 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:22:27.92 ID:Ozpnqin20.net]
- >>305
さあねえ どうしろって言いたいの?
- 344 名前:デフォルトの名無しさん [2018/09/26(水) 22:33:54.33 ID:I4Gvy1+q0.net]
- WinAPIはインターフェースだけを提供していて実装は分からない
つまりコンパイラを考える人はMicrosoftの開発者だけってことですか? それだとコンパイラ入門ってどういうことなんでしょうか?
- 345 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:40:30.36 ID:07am72nua.net]
- 1950年代にもうそれなりのアセンブリあるんだからすごいよね。
みんな頭いいんだな。
- 346 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:41:00.36 ID:T1RBGvug0.net]
- >>332
君はコンパイラを使いたいのか それともコンパイラを作りたいのか
- 347 名前:デフォルトの名無しさん [2018/09/26(水) 22:44:12.95 ID:I4Gvy1+q0.net]
- すいません
正直話すと レポートってのは2年のとき落とした履修で 今は卒論でコンパイラ作りたいんです… つまりダブルということになります…
- 348 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:48:53.63 ID:cOtTFh6NM.net]
- >>335
とりあえずアセンブラでも作ってみたら。 コンパイラ作るよりずっと簡単だけど、いろいろ学べることは多いと思うよ。
- 349 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:52:02.96 ID:DUFIzm4n0.net]
- コンパイラ作るだけならCのソースからアセンブリ言語に変換するプログラムを書くだけなのでWinAPIは関係ない話
- 350 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:55:42.96 ID:h9A6ffHl0.net]
- >>328
アセンブラも広義ではコンパイラだろ こまけえな
- 351 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:00:17.80 ID:07am72nua.net]
- 速度とか高級低級云々の話はインタプリタを持ち出した方が良かったのかね。
抽象的な機能を提供するという点ではAPIも近いところはあるね。
- 352 名前:デフォルトの名無しさん [2018/09/26(水) 23:04:55.14 ID:I4Gvy1+q0.net]
- >>337
例えばprintf関数のアセンブリは どのOSだろうが一緒なんですか?
- 353 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:05:53.49 ID:s3sau8dm0.net]
- >>338
> アセンブラも広義ではコンパイラだろ 全然違うしw 雑すぎるわ
- 354 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:07:11.91 ID:h9A6ffHl0.net]
- >>341
うるせえよ 意味伝わってんのにネチネチ粘着すんなよダリい奴だな
- 355 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:10:27.33 ID:h9A6ffHl0.net]
- >>340
違うよ OS毎にprintfのバイナリが用意されてて おまえが書いたコードをコンパイルしてからそいつとリンクして繋げるだけ
- 356 名前:284 mailto:sage [2018/09/26(水) 23:12:49.78 ID:P+3GV8ah0.net]
- >>285
ここに書いた バイナリ・機械語は、各CPU に固有のもの。 intel・AT&T では逆に書く 開発者は、各CPU 毎にプログラミングできないから、 仮想アセンブラのLLVM ができた
- 357 名前:デフォルトの名無しさん [2018/09/26(水) 23:15:29.87 ID:I4Gvy1+q0.net]
- >>343
ちょっと複数のPC勝ってアセンブリ確認してみますw 例えばWindows98とWindowsMEとかでも厳密に言えば アセンブリが違うかもしれないってことですよね
- 358 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:17:41.51 ID:h9A6ffHl0.net]
-
o.8ch.net/1a1i1.png
- 359 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:23:11.54 ID:VlfJEAqXa.net]
- >>335
コンパイラがそもそもどんな物かも分かってないんだから、コンパイラを作ろうなんて考える前に、コンパイラを使ってごく普通の簡単なアプリケーションプログラムを作って何をやってるのか理解しなよ。 studioやmainがおまじないだとか言ってるレベルで無謀過ぎるぞ。
- 360 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:24:21.49 ID:8QQNIK9ea.net]
- stdioの誤記です
- 361 名前:デフォルトの名無しさん [2018/09/26(水) 23:29:31.07 ID:I4Gvy1+q0.net]
- >>347
なんか分かりました コンパイラっていうのは9割型共通のルールのpushやmoveでかけるアセンブラ をOS向きにさらに改良するってことでしょうか… 自分でprintfのアセンブラを書いてコマンドプロンプトで実行してみます さて何行になるやらですが
- 362 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:39:57.62 ID:tnf9UX1gM.net]
- こんなタイミングでIDって変わるもんなの
- 363 名前:デフォルトの名無しさん [2018/09/26(水) 23:44:08.19 ID:nZ7x0XR+0.net]
- オマエ、分かってて
このスレの低学歴知恵遅れをおちょくってるだろ しかもちゃんと罠もしかけてる オマエが思ったとおりこのスレの低学歴知恵遅れはちゃんと答えれない まずこのこのスレの低学歴知恵遅れは 実行モジュールがどういったもんか分かってないからな
- 364 名前:デフォルトの名無しさん [2018/09/26(水) 23:49:25.75 ID:nZ7x0XR+0.net]
- レスをみても分かるとおり
低学歴知恵遅れはなにも分かってないくせに 分かってるふりするのが精一杯 低学歴知恵遅れ特有のレスをしている オマエは低学歴知恵遅れを陰湿にいじめてる
- 365 名前:284 mailto:sage [2018/09/26(水) 23:59:09.60 ID:P+3GV8ah0.net]
- そもそも、Windows だけでも、64/32 ビットCPU で、
CPU の命令の、サイズ・種類などが異なる i3, i5, i7 など高額・高機能になるほど、 3D・動画のコーデック命令なども付け加えられているから、処理速度は速くなる そういう命令がないCPU では、ソフトウェアで実行されるから、すごく遅い
- 366 名前:デフォルトの名無しさん [2018/09/27(木) 00:12:48.47 ID:pq96CSzd0.net]
- きっとなこのスレの低学歴知恵遅れは
PEフォーマット、EXEフォーマットとかも知らない Windows APIがDLLの関数であることも分かってない この低学歴知恵遅れは コンパイルしたソースをマシンコードにしたものだけが格納されてると思ってる レスみればほぼ間違いない
- 367 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 00:16:16.06 ID:GWQb325r0.net]
- まーた半角クンが湧いちゃったじゃないか。
変な正確でも,言うことが正しければいいんだが, こいつの話は間違った無根拠なものばっかりだからなぁ……。
|

|