Add new...Clone CompilerExecutor From ThisOptimizationStack UsagePreprocessorASTLLVM IROpt PipelineDeviceRust MIRRust HIRRust Macro ExpansionGHC CoreGHC STGGHC CmmGCC Tree/RTLGNAT Debug TreeGNAT Debug Expanded CodeControl Flow Graph
はじめに 10年以上組込みエンジニアをしている@yagisawaです。 Qiitaのトップ記事では新しいフレームワークの使い方とかモダン言語の新しい言語仕様の解説とかが流れてきて、いつも羨ましいなーと思いながら読んでいます。 本記事は組込みシステム開発をしていて経験したこと・感じたことを自虐ネタとして書き連ねていこうと思います。他ITエンジニアの人に「うわっ、可愛そう」って思ってもらうのが目標です(ぇ 各業界それぞれに悩みはあると思うので、自分たちが一番不幸とかは思っていません。おそらく隣の芝が青く見えているだけです。それよりあまり組込みの記事は見かけないので、「組込みエンジニアの仕事ってこんな感じ」というのを知ってもらう意図があったりします。 内容によっては「それはあなたの設計が悪いからです」と言われてしまうようなところもあるとは思いますが、建設的なご意見は大歓迎ですが基本は温かい目で見
プログラミングは難しい 注意: この記事は「プログラミング学習とはかくあるべき」、「こうやって学習するのが一番」ということを言いたいのではなく、プログラムを勉強したいが右も左もわからない人に少しでも勇気と情報を与えることを目的としています。過去の挫折経験からか、なかば愚痴っぽくなっていますがご勘弁を はじめに自分のプログラミング歴を軽く紹介して起きます。 年 言語 学習目的 2010 C言語 学校の実習 2011 C++ 組み込み系 2012~2017 None None 2018 Go,Js,Scala,Python 研究、Web開発 といった感じです。2012~2017年がNoneになっているのには原因が「C言語に挫折し、とにかくプログラミングがしたくなかった」からです。そう思ってしまった原因と、そこから立ち直ったことがこの記事を書いた理由です。 「おいおい、C言語ごときで挫折とは情け
Zig is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software. ⚡ A Simple LanguageFocus on debugging your application rather than debugging your programming language knowledge. No hidden control flow.No hidden memory allocations.No preprocessor, no macros.⚡ ComptimeA fresh approach to metaprogramming based on compile-time code execution and lazy
Programming Language Challenges in Systems Codes システムコードにおけるプログラミング言語の挑戦、あるいは、なぜいまだにシステムプログラミングはCなのか。 著者がJonathan Shapiroであることが興味深い。Jonathan ShapiroはD&Eに頻出する名前である。Bjarne Stroustrupの記述からして、初期のC++の設計に多大な影響を与えた人物である。それに、最初にC++を使って本格的で大規模なプロジェクトを始めたのも、Jonathan Shapiroだ。しかし、今日、Jonathan Shapiroの名前はC++界では、あまり有名ではない。私はMLとかHaskellなどの言語には疎いので、この方面の話は知らなかった。 なぜシステム・プログラミングは、いまだに1970年代に開発された大昔の高級アセンブリ言語で書かれてい
Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初
最近ツイッターで "while(1){LOVE++}"と書き込まれてる指輪があって、 そのソースは最適化でLOVEが消えてただの無限ループになる云々という話があったので検証。 http://togetter.com/li/144840 用意したソースはこちら。 int main() { int LOVE = 0; while(1){LOVE++;} } それじゃアセンブラを見てみましょ。 まずは最適化抜き。 gcc -O0 -s hoge.c .file "hoge.c" .text .globl main .type main, @function main: pushl %ebp movl %esp, %ebp subl $16, %esp movl $0, -4(%ebp) ;LOVE=0 .L2: addl $1, -4(%ebp) ;LOVE++ jmp .L2 ;JUMP TO
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く