[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/26 14:12 / Filesize : 314 KB / Number-of Response : 1035
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け 148



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]
まーた半角クンが湧いちゃったじゃないか。
変な正確でも,言うことが正しければいいんだが,
こいつの話は間違った無根拠なものばっかりだからなぁ……。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<314KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef