「コンパイラ」を含む日記 RSS

はてなキーワード: コンパイラとは

2020-08-03

anond:20200802194545

疑問aの答え。

CPUしか考えないと動きそうに思えるけど、実際のプログラムには、

画面出力機能キーボード/マウス入力機能辺りが不可欠になるでしょう?

Windowsは画面出力に メモリ上の何番地から何番地にこう書けばこう出力するよ。

キー入力があると、hogeが呼び出されるよ。

Macは画面出力前に、view関数実行してね。それから、こんなフォーマットで値を用意してくれたらいいから。

キー入力があると、fugaが呼ばれるよ。

といった感じでOSごとに開発者の決めた作法があるんですよ。

その部分に違いがあるから互換性が無くなるんです。


疑問bの答え。

LLVMが誕生してから、誰でも簡単コンパイラを作れるようになった。

但しそれが役に立つコンパイラかどうかは分からないw

https://qiita.com/Anko_9801/items/df4475fecbddd0d91ccc

2020-08-02

まぁ本来 コンパイラがいいが LLVMにしてくれと スポンサーが言うなら 拒否するりゆうがないとか

プログラマーにとってコンパイラ選択はその程度 こだわるけれど そりゃ スポンサー優先

anond:20200802194545

b. 難しさは言語設計による

例えばbrainfuckコンパイラならコンパイラ知識は大して必要ない

それよりELFとかPE32みたいな実行ファイルフォーマットやローダやリンカの知識の方が大きなウェイトを占めるだろう

はて、難しさはどんなもんだろうか

基本的個人で覚える価値のない技術なので、どのくらいの人ができるかという観点なら、プログラマー1%にも満たないだろう

anond:20200802195400

コンパイラというのは同じくくるまでいえば 100万円から 1億以上もあるというように どこまででも上はあるだろうが 初歩的なものであれば 大学などでも 教えていたりするように 簡単ものには含まれ

プログラムというものが分からない

以下、プログラミングは出来ない俺の認識が間違っている場所があったら教えて下さい。あと、疑問2つを教えて下さい。

【俺の認識

1. コンピューター(というかCPU)が実行する命令は【機械語】で書かれている。たとえばx86CPU場合、0x04ならば『imm8をALに加算する』命令、0x90ならば『何もしない』などである

2. 流石に機械語のままでは人間プログラムするには不便なので、機械語をそのまま人間にも意味が分かるように1対1対応で書き直した【アセンブラ言語】というのがある。0x04ならば『ADD AL, imm8 』、0x90ならば『NOP』と表記される。

3. アセンブラ言語のように機械語と1対1対応している言語を【低級言語/低水準言語】と言う(この呼び方、4で書く高級言語が出来てからまれレトロニムか?)

4. アセンブラのままでプログラムするのも困難である場合が多いので、機械語と1対1対応していないプログラミング言語もある。このような言語を【高級言語/高水言語】と言う。

5. 高級言語で書かれたものそのままでコンピューターには実行できないので、【コンパイラ】というソフトによって機械語に変換している。

6. 高級言語で書かれた状態を【ソースコード】と言う。このソースコードx86用のコンパイラコンパイルすればx86で動くソフトになり、SPARC向けにコンパイルすればSPARCで、PowerPC向けにコンパイルすればPowerPCで動くソフトになる。

【疑問】

a. 認識6が正しいのであれば、(サポートするファイル形式問題などを置いておけば)windowsmacは現時点では同じCPUを使っているのだから、同じコンパイラコンパイルしたソフトwindowsでもmacでも動くのではないか

b. たまに『コンパイラを書いて』と言っている人がいるが、そんなに簡単に書けるものなのか?

2020-07-31

name, value, typeのオブジェクトtypescriptコンパイラでASTを触ってる時に死ぬほど見た

もうお腹いっぱい

anond:20200731011737

レイヤー組み込みと同じでハードに引きずられる。

ハイパーバイザーなんて、いかハードを上位層に意識しないで使えるかの緩衝材。だからARMはべったり開発してる。

GoogleFacebookに低レイヤーやってる人がいるけど、ハード周りやってるから必要に迫られてやってる。インテル最適化用のコンパイラ売ってて性能出るのもハードの中身よく知ってるからいかキャッシュメモリーアクセス隠蔽するか。

anond:20200730184232

半導体はもう古い

重要なのはレイヤー

コンパイラ ハイパーバイザー Linuxカーネル・・・と進んでブラウザーまでかな

それ以上のレイヤー差別化要因にならねえな元増田の言う通り 正確に言えば英語話せない人工減ってる衰退国がやるには厳しすぎる

2020-07-26

anond:20200726151836

それはかのう。もともと配列の添え字についてはコンパイラ依存 1始まりコンパイラもつくれなくはない

2020-07-24

ちょっとちがうけど

Dの音をこうだしたいか

バイオリン右に

あと、こうして こうして

みたいな話はある

IntelCore i7ようとCore i5ようとXeonようではそもそもコンパイラが吐き出すコードも変えることはできるが、

人がコードのものかえることもできる。

積んでいる命令セットの違いごとにアセンブラを変えておくことができる

それをC++から呼び分けていく いまJavaバイトコード勉強している別の言語では1ど作ったつぎはJava シンプル構造VM

Googleと同じことをすればいい。ARTと同じものをつくればいい。ここは規模があまり大きくないから ひとりで 勉強がてらつくれる おもしろい でも ひとりでやった実例が ふえていくと

みんなにも できるんだ という自信が増える

 

ようやく 人数がそろってきている 層が あつくなっている

anond:20200724183926

毎度お馴染みのヘネパタじゃない?

自分CPUコンパイラ作るのも面白い

anond:20200724154304

そんなこといわれても、刃を滅するほうほうなんて昔から1つしかない。ネタは共有している。その味付けの問題とんかつとんかつ。でも、お店ごとの味がある。100年の老舗はうまいが、機能できた店がだめということもない。ただ、IntelCore iが10世代 10.5世代 10.75世代となって もうすぐ 11世代 コンパイラも2A世代となって11からの改変の歴史がだめとはいえ、1つのTickを刻んだ。まぁどうTackしてくるか そういうのをみてからでもおそくはない たまにはIT業界に花をもたえる しかも ハードというのはいいだろう

2020-07-23

日本半導体チップの実設計説明した資料いね

CPUだと注目されるわりに、実際の設計までの解説はないし。

テストベンチの触りはあるけど、LINTやフォーマル検証をやってるのを見たことがない。

ソフトウェアから見たというか、コンパイラ作る人がアセンブラ見たりチューニングするためのアーキ解説は沢山ある。

日本だとフリーソフトのVerilatorを使ってる人も何人いるんだろうって感じ。次はVivadoとか。


富岳のCPUもよく作れたよね。フロントエンド部分とインタフェース部分くらいしか触れないというか、余力なさそうに見えちゃうけど。

PFNもMN-Core作ったけど、論理設計だけで物理設計以降は台湾企業のアルチップだし。


いつまでもアメリカが売ってくれればいいのだけど。

2020-07-20

anond:20200720103413

ちょっとマジではなしをすると、冗談から出た真じゃないんdかえど

まじでIntel Core i7アーキテクチャーを1部 ちょっと変更してくれってはなしがあって、コンパイラチームはOKがきそうで、いろいろ考えてたんだけど 16コア以上という条件をつけていけば無理じゃないという話が出てきた上に 和解技術力見えていると 1日の回数制限をつければOKをだしてもいい という師匠連合に 今回は合意してもいい という派閥抗争があるらしくて すっと待っているコロナ騒動もあるから ちょっといまわからない

2020-07-15

Qiitaとかで下らない記事を書いている人は、だいたい他の記事も下らない

Qiitaで下らない記事を見つけたとき、その投稿者プロフィールを見てみると、高確率で他も下らない記事ばっか書いている。

しかも、そいつらの記事を書くスピードは早い。息するゴミ製造である

学者学習メモ投稿しているのではなく、当の本人は彼なりの「理解」と「拘り」に基づいて書いていることが伝わってくる。だから、余計に痛々しい。

ゴミ記事の例は以下のようなもの

目立つゴミ記事の特徴は、とにかく実質的に何も説明していないこと。そして、キーワードキーワードをつないで、技術的なトレンドを把握したような気になっていることだ。

たとえば、明らかにCPUコンパイラの仕組み、アセンブリ等の知識のない人たちが、「コンピュータ二進法で動いている」みたいな表面だけの全く内容のない記事を量産している。

もちろん「まだ学習途中で、大雑把な仕組みは知っていますが、詳細は分かりません。より詳しく知りたい人はパタヘネとか読んで下さい」とでも言っているなら、まだ好感が持てる。

しかし、ゴミ記事は内容を説明せずに、とにかくたとえ話や関連キーワードの羅列に走る。書いている本人にとっては、それこそがコンピュータ技術勉強することなのだという気迫と拘りだけは伝わる。それだけに、傍から見るとすごくイタい

これは検索エンジンのしくみ上仕方ないのだが、そういう記事SEO効果がめちゃくちゃ高い。何せ、人が検索するようなキーワードが散りばめられているし、馬鹿でも読めるので多くの人がアクセスするから。だから余計に目立つ。本当に迷惑

こういうのは現実にもいて、色々知っててすげえなあと思って実際会ってみたら、バブルソートクイックソート計算量の違いも説明できない人だったみたいなことが幾度となくある。

もう、こういうのやめませんか?誰の得にもなってない。

2020-07-13

anond:20200713102323

jccとかでJavaでCのコンパイラつくりゃいいのか、どこでもうごくな

2020-07-05

gccでいうところの-O3オプションを使った場合STLのemplaceの方が最適化され得るinsertにお前のコンパイラ成るんだ? なぜを今調査

すべてのコンパイラ最適化オプションを入れた場合に、なぜ、あなたコンパイラはemplaceの方がinsertより高速化するのか いま調査

デバッグ用にinsertにはいくつかの冗長性があるがコンパイラオプションで消える

それをすべて消してもemplaceの方が高速化されるコードをいま探してる

それがあると それなりに新発見なので それを さらに コンパイラに改造を入れて最適化した場合それでもできなくてAPIを追加しなければ

コンパイラ最適化では高速化しないと判断した論文検索

2020-07-04

anond:20200704003401

元の記事から話題が逸れてしまうが。

今までの、返信とはてブコメントを見ていると、科学技術力が検索能力が原因の一つの気がしてきた。

プログラマーコンパイラエラー吐いたら検索するのは普通にできるが、

将来的にインパクトがある内容を知るのが遅れる。

Web上には色んなデータベースがあるが存在を知らない、活用できていない。

まとめブログは書けるが、科学技術の新しいジャンルを作るようなインパクトのある事象に対して調べられない。

2020-07-02

anond:20200702194606

あきらかに.ccダウンロードして動いてんぞこいつ コンパイラつむなよ!! ってGoogle先生をいわせたらかちってどう?インタプリタだよ?って

2020-06-27

anond:20200627152244

京で作ったソフトを動かさないといけないから。

単純にコンパイラ命令置換すればいい部分と、ハードに関わるチューニング必要な部分はそのまま活用したい。

ソフトチューニングしてパフォーマンス出すのにも年単位かかるから

2020-06-25

アメリカ掲示板C++がCと違うものだと言う人が増えた という投書があった

まぁ 拳銃を持てない国に言われてもな って 返しておいた

ちょっとオプションが付いているC というふうにはC++という文字からは わからない といわれると まぁ しょうがない

Objective-C といわれると Objectiveという機能が 追加されたCなんだろうなぁと思う

C言語の型は原則 コンパイル時決定なんだが実行時決定などを使いたい といわれると

そりゃRuntime-Cとか なんかひとことCにつけたほうが売れるだろう

なぁ

ちなみに GCCというのはGnu コンパイラ コレクション 主にCなので 別にPascalが呼べて駄目じゃない

アルファベットがわからないといわれると プログラマとしては きびしいが 後輩指導 がんばる

2020-06-21

副業としての コンピューターグラフィックス デザイン

まぁ、Windowsが主流になって業界が大きく変わり

CUIにかわってGUI時代になった。

それにともない、いわゆるプログラマーも、いわゆるデザイン系の知識というもの必要と言われるようになってきた。

いらないといわれれば、サーバ系を中心として、CUI時代知識でも十分

難しいところではあるが、色についても各色8Bitという時代から各色10Bit 40Bit color時代突入している。

所詮廉価版おもちゃの色という8Bit-color時代

そりゃそうだわな。誰が見ても、コンピューターの色

まぁ 廉価版

それがいつの間にか48Bit時代 そこそこ見られるようになっている。

リクエストも増えてくる

プログラマーも知らないといけないことが増えてしまう。

われわれにはCanonの色づくり Nikonの色づくり Sonyの色づくりというものがあるんだ。

ということまでで十分。それ以上はしらなくていいという世界

いわゆる3ナンバーアプリ時代

車で言うところの3ナンバーアプリが増えてきた

一般的にはワークスがやっていて、市販品ではない技術が コンパイラ技術の発展でデフォルトライブラリに含まれ始めた

金銭的には思うことはあるが、それはマネージャーが考えれば良い。技術屋は考慮こそするが、そこまで考えることではない。

C++11C++2Aということで10年の歴史を経て安定気に入り採用が増えてきたことが1つの少佐であろう.

実用に十分な性能があるから、これまで個別メーカアプリ機能だったものデフォルトライブラリ範疇と考えて良いと思う。

ま、車で言うところの3No.アプリが増えている。

ログイン ユーザー登録
ようこそ ゲスト さん