Sassy is a portable assembler for x86 processors written in R5RS Scheme with the addition of a few SRFIs.
Xbyak - x86, x64 JIT assembler - .frame(English) .frame(x86の究極の最適化手法?) Xbyak(カイビャック)はx86(IA32), x64(AMD64, x86-64)のマシン語命令を生成するC++のクラスライブラリです. プログラム実行時に動的にアセンブルすることが可能なため, 柔軟な最適化(動的コード生成)が可能となります(利用シーン:量子化の高速化, 式の計算). 暗号ライブラリに使って高速な実装をしてみた(very fast etaT pairing for Core 2 Duo) ヘッダファイルオンリー xbyak.hをインクルードするだけですぐ利用することができます(32bit, 64bit両対応). Windows Xp(32bit, 64bit), Vista/Linux(32bit, 64bit)/Intel
最近ではコンピューター、ウェブ、モバイルでゲームを楽しめるようになりました。これらのゲームプログラミングについて学びましょう。 ゲームプログラミングの特徴 ゲームプログラミングは比較的新しいジャンルです。 ゲーム開発に使用される言語は、C#、C++、JavaScript、Swift、Rubyです。ゲームでは通常のアプリケーションと異なり複雑なビジュアルを操作するパフォーマンスと速度が要求されますので、プログラム言語もそれに特化している言語がおすすめです。 ゲームプログラミングは今後も人気の職種です。習得してステップアップを目指しましょう。 Oracle PLのプログラミング言語について学びましょう。 Oracle PLの特徴 SQL、T-SQLと同様にOracle PLもデータベースを処理するための言語です。違いとしてはOracle PLは世界最大のデータベースのひとつであるOracleデ
alternativeマクロについて シーケンスロック その3 において > alternativeマクロは興味深い動作をするので、回を改めて詳しく説明しますが、 などと書いておいて すっかり忘れていた alternativeマクロですがいい機会なので解説しましょう。 いつものように lxr.linux.no あたりからソースを引っ張ってきている。 linux/include/asm-i386/system.h より 288 /* 289 * Alternative instructions for different CPU types or capabilities. 290 * 291 * This allows to use optimized instructions even on generic binary 292 * kernels. 293 * 294 * length
再入不可能な関数を C で実装する 一度実行したら二度と中身を実行できなくなる再入不可能な関数を C で実装してみます。通常、このような関数はシングルトンなどの静的なデータの初期化に使いますが、ここではデータについては考えないことにします。 static 変数をフラグに使う まずは最も単純な方法から見ていきます。次の関数は static 変数をフラグに使って再入を防いでいます。厳密に言えば関数そのものには入ってしまっていますが、ここで気にしないことにします。 void once(void) { static int entered; // 最初は 0 if (entered == 1) { // すでに入ったことがある場合は return; // すぐ出る } entered = 1; // 初回の場合のみ、何かを実行する } この方法はシングルスレッドのプログラムではうまく動きますが、マ
See also my blog Contents Optimization manuals Vector class library Object file converter and disassembler Subroutine library ForwardCom: An open standard instruction set for high performance microprocessors Test programs for measuring clock cycles in C++ and assembly code Floating point exception tracking through NAN propagation CPUID manipulation program Links Optimization manuals This series of
HOW TO OPTIMIZE FOR THE PENTIUM PROCESSOR (In Japanese) Original (in English): http://announce.com/agner/assem/assem.html Copyright (c) 1996, 1997 by Agner Fog. Last modified 1997-08-19. このページは、Agner Fogさんによる同名のマニュアルの、藤波順久による日本語訳です。原文(英語)の著作権はAgner Fogさんにあります。また、日本語訳中の「私」とは、Agner Fogさんのことです。原文は http://announce.com/agner/assem/assem.html を参照してください。 このページは、現在更新中であり、原文の古い版(1997-03-16)に基づいている章がいくつかありま
Introduction Jasmin is an assembler for the Java Virtual Machine. It takes ASCII descriptions of Java classes, written in a simple assembler-like syntax using the Java Virtual Machine instruction set. It converts them into binary Java class files, suitable for loading by a Java runtime system. Jasmin was originally created as a companion to the book "Java Virtual Machine", written by Jon Meyer and
GCCでインラインアセンブリを使用 する方法と留意点等 for x86 (1999〜2006年10回改訂、2006年1月22日注意を追加、最終更新日2006年5月27日) 文: A. SAITOH <s-akira at users.sourceforge.net> home ※システム名、CPU名は一般に開発会社の登録商標です。 以下の情報はあまり過度に信用しないで下さい。より正確な情報は、asやgccのinfoから得て下さい。 個々のプロセッサ命令の解説はここでは述べません。そのような技術資料は、インテルやAMDのウェブ サイトのdeveloper向けのページからpdf形式で入手できます。 以下の文及びプログラム例の運用結果に関して、筆者は一切責任を負いません。 参考文献 [0] D. Stancevic, K. Scheibler, J. Leto, Linux Assembly
GNU Cは、 ANSIの標準Cにはない特徴的な言語機能をいくつか提供しています (`-pedantic'オプションは、 これらの機能が使われた場合に 警告メッセージを出力するようGNU CCに対して指示するものです)。 条件コンパイルにおいて、 これらの機能が利用可能であるかどうかをテストするためには、 __GNUC__というマクロが事前に定義されているかどうかをチェックします。 この__GNUC__というマクロは、 GNU CCでは常に定義されています。 これらの拡張機能はCとObjective Cで利用可能です。 また、 そのほとんどはC++でも利用可能です。 C++にのみ適用可能な拡張機能については、 C++言語に対する拡張機能を参照してください。 式の中の文と宣言 GNU Cにおいては、 丸括弧()で囲まれた複文を1つの式とみなすことができます。 これによって、 1つの式の中でル
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く