Toba: A Java-to-C Translator Toba is no longer maintained or supported, and these web pages are no longer being updated. You can still download Toba, but note that it is tied to the obsolete JDK version 1.1. Toba translates Java class files into C source code. This allows the construction of directly executable programs that avoid the overhead of interpretation. Toba deals with stand-alone applica
2ちゃんねるのdatを高速で処理するプログラムを書いていたら、いつのまにかC言語でハッシュテーブルを実装していました。これぞ車輪の再発明って感じです。 名前は「unhash」としておきます。 とりあえず、ダウンロードはこちらです。 http://www.heiwaboke.net/lang-c/src/unhash-0.01.zip 2012/09/16追記 ソースコードを紛失してしまったので、こそこそ改造してたバージョンの方にリンク貼っておきます。 名前が変わってちょっとだけ省メモリ化していますが、大本の仕組みと使い方は同じです。 参考程度にどうぞ。 https://github.com/tanaton/unmap ベンチマーク 一番下がunhashです。 ベンチマークの方法はC/C++ で使える HashtableCommentsAdd Starを参考にしました。 tanaton@he
まだC, C++がないようなので書いてみた。主にLinux(DebianとかUbuntu)での環境構築について。 コンパイラ まずはapt-getでコンパイラをインストールする。UbuntuやDebianなら以下のコマンドでgccやg++および標準ライブラリ等がインストールされる。 $ sudo apt-get install build-essential デバッグツール デバッガおよびデバッグツールは少なくとも以下の三つは入れる。(あとltraceも欲しいかな?) GDB 言わずと知れたGNUのデバッガ Valgrind メモリリークや不正メモリアクセスの検出 strace システムコールのトレース $ sudo apt-get install gdb valgrind strace ビルドツール C, C++のビルドツールといえばまずmakeが浮かぶけど、最近ではSConsやCMak
夏本番に向けて海に行ける体作りに励まないといかんなーと思いつつも、ついついDSのスターフォックスで遊んでしまうmikioです。さて今回は、人知れずリリースされている検索エンジンTokyo Dystopiaの概要と設計思想について述べます。 Hyper Estraierとの違い Tokyo Dystopia(以下、TDと呼びます)は、新しい検索エンジンです。しかし、私が作ったもう一つの検索エンジンHyper Estraier(以下、HEと呼びます)の後継としては位置付けていません。 Hyper Estraierの製品コンセプトは、「検索システムの需要が生じる様々なシーンで手軽に導入できる」ことです。言い換えれば、「いわゆるシロウトの人でも、お高い商用システムを買えない個人や小組織でも、ちょっとの努力で自分の要求を満たすシステムを構築できる」ことです。そのために、様々なファイル形式に対応したテ
Linux の共有ライブラリを作るとき PIC でコンパイルするのはなぜか 通常、Linux の共有ライブラリを作るときは各 .c ファイルを PIC (Position Independent Code) となるようコンパイルします。しかし、実は PIC でコンパイルしなくても共有ライブラリは作れます。それでは PIC にする意味はあるのでしょうか。 さっそく実験してみます。 int func () { printf(""); printf(""); printf(""); } PIC でコンパイルするには gcc に -fpic または -fPIC を渡します。-fpic の方が小さく高速なコードを生成する可能性がありますが、プロセッサによっては -fpic で生成できる GOT (Global Offset Table) のサイズに制限があります。一方、-fPIC はどのプロセッサで
P系プログラミング言語wiki Perl,Python,PHP系の言語について書いていきます。 トップページページ一覧メンバー編集 履歴 UDF(MySQL) MySQLに新しい関数を追加してみよう 最終更新:callistoiv 2009年08月16日(日) 01:55:18 UDFとは MySQL に新しい関数を追加する方法は 2 つあります。 ユーザ定義関数(UDF)インタフェースを使用して関数を追加できる。ユーザ定義関数は、CREATE FUNCTION ステートメントおよび DROP FUNCTION ステートメントを使用して、動的に追加および削除できる。 ネイティブ(組み込み)MySQL 関数として関数を追加できる。ネイティブ関数は、コンパイルして mysqld サーバに組み込むことによって、永続的に使用できるようになる。 それぞれの方法に長所および短所があります。 ユー
gdb tips gdb を使う上で便利な tips を紹介します。基本的な使い方をマスターしている人向けです。 .gdbinit の設定 ホームディレクトリに .gdbinit を置いておくと、gdb の起動の際に読み込まれます。私の場合は次のような設定をしています。 set history save on set history size 10000 set history filename ~/.gdb_history set print pretty on set print static-members off set charset ASCII set history から始まる最初の 3行は履歴に関する設定です。それぞれ、 gdb のコマンドラインの履歴をファイルに保存する、保存する行は最大 10000 行、ファイル名は ~/.gdb_history 、という意味になります。
ApacheのFilterモジュールを作った話しをしたらid:c9katayamaに情報公開しろと言われたままでしたので公開します。 C言語の勉強しようかな、Apache2.xのモジュールを作ってみようかな、gdb使ってデバッグしてみようかなと考えてた人にお勧めです。 JavaでのServletの開発経験のある人であれば、Filterの処理の動きやリクエストコンテキストの考え方は分かり易いはずなので、エントリを読み終わる頃にはApacheのモジュールをgdbでデバッグしながら作る事が出来るはずです。 mod_orzを作成 今回はmod_orzというApacheモジュールを作成します。 Apacheモジュールを作成する際には、apxsというモジュール開発用のコマンドを使用しテンプレートを作ります。 # apxs -g -n orz Creating [DIR] orz Creating [F
私製PHPリファレンスもどき PHPマニュアルはどうにも分かり難い。というわけで勉強をかねて調べてみたことを列挙してみる。 PHP/ストリーム PHP/ストリーム/コード解析 PHP/ストリーム/書き込み PHP/ファイルロック PHP/ファイルロック/ドキュメント再考 PHP/ファイルロック/ノート PHP/ファイルロック/ノート/ドキュメント再考/元記事 PHP/ファイルロック/ノート/旧ページ_STACK記事 PHP/ファイルロック/ノート/書き込みバッファ PHP/ファイルロック/ロックの必要性 PHP/ファイルロック/設計 PHP/整合性維持 PHP/変数 PHP/名前空間 ▲ ▼ PHP: Hypertext Preprocessor http://www.php.net/ http://jp2.php.net/ (日本のミラーサイト) 日本PHPユーザー会 (Japan
emacsで C/C++ でコーディングしている開発者向けの emacs の設定です. [F5]でビルド,[F4]でエラー行へジャンプといったことが出来,かなり便利です. 具体的には以下のような事が出来ます. [F7]でコンパイル(バッファを全部保存して,make all します) [F4]でコンパイルエラー行へジャンプ [F1]でカーソル下の単語について マニュアルを開く SHIFT+[F7] でリビルド(make clean all) SHIFT+[F4] で一つ前のエラー行へジャンプ 設定は .emacs に以下の内容を追記するだけです. (setq auto-mode-alist (append '(("\\.C$" . c++-mode) ("\\.cc$" . c++-mode) ("\\.cpp$". c++-mode) ("\\.hh$" . c++-mode) ("\\.
【1.1】 特徴 オープンソース GPL2ライセンスによる公開です。 クロスプラットフォーム wxWidgetsを使って開発されており、LinuxとWindowsで動作確認済み。 MacPPCへのサポートが始まっているようです。 GNUコンパイラによるビルド プロプライエタリなライブラリへの依存がありません。 コンパイラーをバンドル Windows版はMinGWをバンドルしたリリースパッケージを用意 リリース版はインストーラ一発で開発環境のセッティングが完了する。 サポートコンパイラが豊富 GCC (MingW / Linux GCC) MSVC++(2003 2005) Digital Mars C++ Borland C++ 5.5 Intel C/C++ Open Watcom SDCC(ワンチップマイコン向け!) Digital Mars
「Ten reasons why every programmer should learn C」という記事がありました。 個人的な感想ですが、何と無く言いたい事はわかる気がしました。 ただ、多少誇張している(言い過ぎ/嘘)かなと思いました。 あと、恐らくLinuxとオープンソースなどを念頭において書いているんだろうなと思いました。 ちょっと言いすぎ感も漂う内容でしたが、面白かったので訳してみました。 誤訳や勘違いなどが入っている可能性があるので、詳細は元記事をご覧下さい。 以下訳です。 全てのプログラマはC言語を学ぶべきである。 C言語を学ぶ事により得られる利点は無視できないほど大きい。 C言語を学ぶ事により、仕事の機会に恵まれるだけではなく、コンピュータへの理解が深まる。 1) C言語は、C++やJavaと比べて低レベル(low level)な言語である。 低レベル言語を使ってプログラ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く