タグ

C言語に関するwata88のブックマーク (3)

  • コンパイル中にコンパイルする「コンパイル時Cコンパイラ」をつくった話 - kw-udonの日記

    僕は先日、「コンパイル時Cコンパイラ」なるプログラムをつくって、公開した。 「コンパイル時Cコンパイラ」とは、コンパイルするとC言語プログラムのコンパイルが行われるというようなC++プログラムである。 C++のコンパイル中に C言語プログラムのコンパイルを行う、 "コンパイル時Cコンパイラ"をつくりました #ELVMhttps://t.co/kKiLU3rLFX— うどん (@kw_udon_) 2016年11月18日 自分で書いておいてなんだが、「なんのこっちゃ」という感じではある。(ちゃんと記事中で説明する。) 実際、変なプログラムではあるのだが、とても嬉しいことに多くの人に面白がっていただき、予想だにしなかった大きな反響をいただいた。 Hacker Newsで1位になったり、LLVMの公式ブログで紹介されたり、果てはC++の作者であるBjarne Stroustrupにも言及されるに

    コンパイル中にコンパイルする「コンパイル時Cコンパイラ」をつくった話 - kw-udonの日記
  • LuaJITのC言語との型変換実験 - なぜか数学者にはワイン好きが多い

    LuaJITのFFIライブラリが,FFI(Foreign Function Interface)を通した時にインターフェース越しに引数がどのように相互変換されるかは,一応ドキュメントになっています. FFI Semantics でも良くわからないことが多いので,いろいろとサンプルを作ってみました. Part 1: Hello, World with Standard C Library Lua版は,普通に「Hello, World」を表示します. FFIを通したバージョンは,Cの標準関数のprintfを通して「Hello, World」を表示します. プログラムは,1つのLuaスクリプトにまとめました. -- Pure Lua local msg = "Hello, World" print(msg) -- FFI local ffi = require("ffi") ffi.cdef[[

    LuaJITのC言語との型変換実験 - なぜか数学者にはワイン好きが多い
  • C言語より高速なJavaScriptによるバイナリ操作が話題

    JavaScriptなどのスクリプト言語は動作が遅く、最適なパフォーマンスを得るにはC/C++で実装しなければならないという常識に挑んだ先進的な講演が話題になっています。この話題の発端は2012年10月7日から10月8日までベルリンで開催されたJSConf.euでFelix Geisendörfer氏が行った講演です。 彼の講演の題材はnode.jsからMySQLに接続する為のバインディングのパフォーマンスに着目しています。2010年当時、node.jsにはMySQLのバインディングが存在しておらず、増井さん作のnode-mysqlモジュールが開発中の状態でした。このモジュールはJavaScriptでバイナリを解析しておりJavaScriptのみで開発されていました。この状況を受けてFelix氏が新たにnode-mysqlモジュールを新規に開発を始めました。このモジュールもJavaScri

    C言語より高速なJavaScriptによるバイナリ操作が話題
    wata88
    wata88 2012/10/25
    変態すぎる
  • 1