6 MMX拡張機能 MMX拡張機能はPentium-MMX以降のX86系CPUに搭載されており,それより旧式のCPU(i386, i486, Pentium, PentiumProなど)では利用できません.MMX機能拡張がサポートするベクトル型はv8qi, v4hi, v2si, v1diとv4hiの別名であるmm_tです.それは全部64ビットのデータです. 6.1 MMX拡張機能を利用する時の前処理と後処理 #include <xmm.h> void begin_mmx(I87stack *pstk); void end_mmx(I87stack *pstk); MMX拡張機能と64ビットのベクトル型のデータを用いるSSE,SSE2の拡張機能を利用する前に,begin_mmx() を呼び出す必要があります.MMX等の拡張機能を利用した後,(SSE,SSE2ではなく,いわゆるX87コード)
$Id: howto-efence.html,v 1.1 2000/07/05 13:43:38 sakane Exp $ %Hd: Electric Fenceを使ってみる 何? 環境変数 マニュアルで推奨されている使い方 その他 o 何? 自分の技術力を越えたプログラム書く時に超便利なツール。 できる事 o バッファ・オーバーラン o バッファ・アンダーラン o 開放した領域を触る o サイズ 0の malloc を見つけることができる。 コンパイル時に libefence.a をリンクする事で malloc(3)や free(3)を置き換える。 欠点は o 激しくメモリを使う。 o プログラム動作が異常に遅くなる。 何はともあれ使ってみる。 #include #include #include int main() { char *c; c = malloc(4); c[3]
Eric Green, [email protected], 8 February 1998 岡本 一幸 Kazuyuki Okamoto, [email protected] 遠藤俊徳 Toshinori Endo, [email protected] (v1.5から)v1.5, 1998年9月15日 GNU C ライブラリ (glibc参照) glibc Glibc 2 HOWTOはLinuxシステム上でのGNU C Library第2版 (libc 6)の インストールと使用について説明します。 1. はじめに 1.1 glibc2について 1.2 この文書について 1.3 この文書の最近の変更 2. インストール方法の選択 3. ライブラリの取得 4. テストライブラリとしてのインストール 4.1 コンパイルとインストール 4.2 ダイナミックロ
Unix系コマンドラインユーザーのための、 gcc/g++/g77 による開発におけるデバッグ術を簡単に紹介します。 以下の内容は gcc 2.7.2.3 での動作は確認しています。 g++/g77 でも恐らくは通用すると思うのですが、 ひょっとすると異なる部分があるかもしれません。 筆者は g++/g77 の使用経験がないので、その場合は御容赦を願います。 実行前 キーワード「コンパイルオプション, -Wall, -O2, -O4」 まずは gcc にオプション opt'-Wall' を付けてコンパイルし、 警告がなくなるまでソースを修正します。 これは 常識 です。 次に opt'-O4 -Wall' でコンパイルします。 「未初期化変数の使用」の警告 (`foo' might be used uninitialized in this function) は、 opt'-O4' を付
最近、雑誌の記事でよく見かけるようになった、Intel Compiler 通称 icc ですが、Linux系にプリインストールされる gcc と比較して re-compile するだけで概ね 30 % 程度の高速化が図れるようです。 試しに、当サイトで配布している「高速半角全角ライブラリ」で検証してみました。 gcc - compile版 [h2z]Drk::Encode[1000000]LOOP TIME=13 [z2h]Drk::Encode[1000000]LOOP TIME=13 icc - compile版 [h2z]Drk::Encode[1000000]LOOP TIME=10 [z2h]Drk::Encode[1000000]LOOP TIME=10 とウワサ通りの高速化が実現できてしまいました。実は version 6 の頃に試用したことがあったのですが、 gcc との互
News [Note: I am no longer working on TCC. Check the mailing list to get up to date information.] Features SMALL! You can compile and execute C code everywhere, for example on rescue disks (about 100KB for x86 TCC executable, including C preprocessor, C compiler, assembler and linker). FAST! tcc generates x86 code. No byte code overhead. Compile, assemble and link several times faster than GCC. UN
GPLソフトウェアをIntelコンパイラでstatic linkでビルドして配るとライセンス問題が起きるらしい。 Intelコンパイラでビルドする場合、GNU LIBCではなくIntelのライブラリを使うことになるらしいのだけれども、このIntelのライブラリはGPLソフトウェアにStatic LinkさせてのGPLでの配布はNGとIntelが規定しているのだとか。 一方、LGPLとかBSDライセンスのソフトウェアについてはOKらしい。 いまいちこの問題の本質が理解できてないっす。 GPL汚染を気にしているということなのかなぁ。GPL汚染というのは「甲がGPLである乙を使う場合、甲もGPLにしないといけない」というものであって、「GPLである甲が非GPLである乙を使う場合、乙もGPLにしないといけない」というものではないと理解しているのだけれども。そうじゃないと「俺様が作ったGPLなソフト
This site provides you with information about all the packages available in the Ubuntu Package archive. Search package directories Keyword: Search on: Package names only Descriptions Source package names Only show exact matches: Distribution: Section: There are shortcuts for some searches available: https://packages.ubuntu.com/name for the search on package names. https://packages.ubuntu.com/src:n
2018-01-21 XBee 2017-05-01 Motherboard/SUPERMICRO/X8SAX 2017-04-27 CLEVO/W150HNM 2017-03-12 TIPS/Linux/041 2017-02-22 TIPS/MS Windows TIPS/MS Windows/029 2017-02-21 PQI Air card 2017-02-19 Buffalo/BS-2024GM 2017-02-07 TIPS/MS Office/Word/004 TIPS/MS Office/Word 2016-09-10 CentOS 2016-08-22 VirtualBox 2016-08-21 ThinkPad/X200 diary/2016-08-21 2016-08-06 GIGABYTE/GB-BXBT-1900 ArchLinux/GB-BXBT-1900
この章ではGNUプログラム用にMakefileを記述する際の慣習について書いてあります。 Makefileの一般的な慣習 Makefileには次の行を毎回含めるべきです。 SHELL = /bin/sh …というのは、環境からSHELL変数を受け継ぎ得るシステム上でのトラブルを避けるためです。(GNU makeではこれは全く問題になりません。) 別のmakeプログラムには非互換のサフィックスリストや暗黙ルールがあり、場合によって混乱をきたしたり動作不良を起こします。このため次のように、個々のMakefileで必要なサフィックスだけを明示的にサフィックスリストにセットするのが良策です。 .SUFFIXES: .SUFFIXES: .c .o はじめの行でサフィックスリストをきれいさっぱり除去して、次の行でこのMakefileで暗黙ルールに渡されてもいいサフィックスを全部書き込みます。 コマン
FSIJの小島一元氏 一般ユーザの視点から見た場合には普段はあまり目立たないが、フリーソフトウェアの世界を成り立たせる上で欠かせないものの一つ、それがコンパイラだ。そのコンパイラの中でも今やすっかりおなじみとなったgcc(GNU C Compiler)の次期バージョン「gcc 4.0」のリリースが来春(予定)に近づいている。 果たしてgcc 4.0では何が変わるのか、また現在のgccの開発状況はどのようになっているのか、そんな疑問に対し、14日に都内で行われたSEA/FSIJ合同フォーラム「gccよどこへ行く」において、gccのSH-Linux版のmaintainerも務める、FSIJ(フリーソフトウェアイニシアティブ)の小島一元氏が講演を行った。
ちょっと前にCentOS3.9に改宗しますとブログに書いたのですが、これはglibc2.3.2にてMySQLとかSennaとかをビルドするためというのが理由でした。しかしいざ実際にCentOS3.9でビルド作業を開始してみると、、、 GCCのバージョンが古い(ver3.2.3)。そのためSennaのビルドができない(nfkc.cのコンパイルが30分以上待っても終わらないので無理)。 CentOS4系のrpmを落としてきて入れようとすると、依存関係のせいで大量に追加パッケージをいれたり、既存のファイルを上書きすることになる。 新しいGCCをソースからビルドしようとすると、i386はビルドできるけどx86_64ではmakeが通らない。 subversionコマンドを使おうと思い、"yum install subversion"とやっても、公式レポジトリにsubversionが無い。 CentO
GCJ(GNU Compiler for Java)は、 Javaソースコード(またはバイトコード)からネイティブコードの実行ファイルが生成できるAhead-of-Time(AOT)コンパイラです。 GCC(GNU Compiler Collection)の一部として開発されていています。 Windows環境ではMinGWやCygwinのgcjを利用することができます。 今回はMinGWのGCJを利用します。 しかしながら、MinGWの公式ホームページから取得したGCJそのままでは、 別途、iconv をインストールする必要と、-Dfile.encoding=SJISを指定した場合、Input_SJIS.oとOutput_SJIS.oをリンクしなおす等の 手間がかかることから、使用しません。 ここでは、ThisIsCoolの「GCC/GCJ for MingW」で提供されているGCJを使用
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く