「Graphvizによるファンクション・コールの視覚化」を参考に、今開発中の Scheme インタプリタのコールグラフを出力してみた。 pvtrace のインストール http://www.mtjones.com/developerworks/pvtrace.zip 大きめの trace をしたいのであらかじめいくつかソースを書き換える。 symbols.h #define MAX_FUNCTIONS 2000 // 元は 200 だった stack.c #define MAX_ELEMENTS 50000 // 元は 500 だった インストール $ make $ sudo make install graphviz のインストール $ sudo apt-get install graphviz ターゲットのコンパイル 今回は Scheme のインタプリタがターゲット。 CXXFLAGS
Programming is hard. Programming correct C and C++ is particularly hard. Indeed, both in C and certainly in C++, it is uncommon to see a screenful containing only well defined and conforming code.Why do professional programmers write code like this? Because most programmers do not have a deep understanding of the language they are using.While they sometimes know that certain things are undefined o
Download Cinder is available under the BSD License for macOS and Windows. The latest version is 0.9.2 Cinder for macOS Visual C++ 2015 All Cinder Versions Github To keep up-to-date with Cinder’s development, consider working from the github repository directly. This guide walks you through getting setup with Cinder and Github. Cinder on GitHub Sponsors Cinder is developed by the generous contribut
こんにちは、人恋しい季節になってきましたね。 研究開発チームの祢次金(@nejigane)と申します。 本エントリではCinderというクリエイティブなコーディング向けのライブラリについてご紹介したいと思います。 Cinderとは Cinderとは、画像、音声、動画等を簡単に処理&可視化できる、主にビジュアルデザイン向けの強力なC++ライブラリであり、The Barbarian GroupのAndrew Bell氏が中心となってオープンソースとして開発が進められています。 同様の思想を持つProcessingやopenFrameworksによく似ており、C++で簡単に記述できるうえ、Windows、MacOSX、iOS(iPhone/iPad)といった複数のプラットフォームをカバーしています。 細かい機能/特徴の紹介は本家サイトに譲るとして、Cinderを極めるとどのぐらいクリエイティブな
最近のウィルス作者逮捕騒動で、高木浩光@自宅の日記 - ウイルス駆除のためWinnyのCacheフォルダを仮想ドライブ化してはどうかという話を思い出して、でもドライバを作るのはちょっと面倒だし、2時間くらいでちゃちゃできる方法がないかなーと考えてみて、心当たりがあったので試したところダメでしたという話。 やりたかったことは、 Winnyのキャッシュファイルにウィルスが含まれているならそのキャッシュを消したい で、方法としては キャッシュに対してウィルススキャンを行い、ウィルスが検出されればキャッシュを削除する というとてもシンプルなもの。 私はFirefox3がダウンロードしたファイルのウィルスチェックを(たぶんインストールされているアンチウィルスソフトに依存せずに)自動で行っているの見ていたので、なにかベンダー共通のウィルススキャンAPIでもあるのかなーと前から思っていて、今日調べてみる
LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. CやC++でアプリケーションを開発する場合、またはC/C++で開発されたオープンソースソフトウェアをコンパイルする場合に遭遇するコンパイルエラーや出力されるエラーメッセージは、C/C++に精通していなければ原因を予測しにくいことが多く、C/C++初心者を萎縮させる原因のひとつになっている。移植する段階でインクルードが必要になったとか、typedefを追加するといった簡単な対処でコンパイルできるものが、エラーメッセージの内容が理解できないために解決できないということはままある。 LLVM Project Blog: Amazing feat
フィンランドNokiaは12月1日(オスロ時間)、オープンソースのクロスプラットフォームUI/アプリケーション開発フレームワークの最新版「Qt 4.6」を発表した。携帯電話向けOS「Symbian」など対応プラットフォームが増え、グラフィック機能も強化されている。 最新版の特徴は主として、対応プラットフォームの増加、グラフィック機能の強化、マルチタッチ対応の3つとなる。 Qt 4.6では対応プラットフォームとして初めてSymbianに対応したほか、Mac OS X 10.6 Snow Leopardや現在開発が進められているLinuxベースのスマートフォンOS「Maemo 6」もサポートした。これにより、モバイルアプリケーション開発者はSymbianとMaemoの両方に対応するアプリケーションを作成できる。このほか、リアルタイムOSであるVxWorksやQNXのコミュニティサポートも提供さ
インテル コンパイラーではOpenMP 3.0やC++ラムダ関数、並列コンパイルといった、新規格や最近注目されている機能がいち早く取り入れられている。本記事では、インテル コンパイラーが採用した新規格について解説する。 インテル コンパイラーの特徴の1つに、新しい技術や標準規格への素早いサポートが挙げられる。たとえば最新のインテル コンパイラー 11.1では、プログラムを簡単に並列化できる新たなキーワードが追加されているほか、11.0からの機能として現在策定中のC++の新規格「C++0x」や、新たな並列化基盤「OpenMP 3.0」のサポートが追加されている。本記事ではこれらの機能について、簡単ではあるがその概要と使用例を紹介しよう。 C++ 0xのサポート C++は1983年代に開発されて以来、しばらくは公式な標準化規格が存在せず、各コンパイラメーカーにより独自に拡張が加えられていった。
gcc(Gnu C Compiler)の拡張文法 [警告!] C/C++言語初心者はこのページを読まないでください。 このページではgcc独自のC/C++拡張文法について解説します。 これらの拡張文法が可能にする機構は確かに便利なのですが、 もちろんANSI規格に従っていないので、一般的には使うべきではありません。 C/C++言語文法を学び始めている初心者はこれらgcc拡張文法を 知るべきではありません。C/C++言語を正しく理解する上で大きな 支障となります。 C/C++言語を十分に熟知した者は、gccがこのようなこともすることを 「雑談」として知っておくと楽しいかもしれません。もちろん 実戦に使うべきではありませんが。しかし初心者が偶然に、これらの 機能を使ってうまくいく場合がありますので、そのような初心者を 見つけたら、それが標準規格ではないことを注意してください。 配列変数をコピー
MSXML offers two very different XML parsers. The first is a DOM implementation that has been available in various incarnations. If you are working with relatively small XML documents and require random access to the XML documents for in-memory reads and writes, then the DOM implementation is a reasonable choice. Later versions of MSXML introduced an implementation of Simple API for XML (SAX2). Whe
libicpc チーム kkntkr / Unknown による、ACM-ICPC 向けのアルゴリズムの実装をまとめたページです。 基礎 テンプレート マクロ 計算 ビット演算 実数比較 幾何 基礎 データ構造 内積・外積 回転方向関数 射影 面積・体積 円と円の共通部分 多角形の面積 交差 円と円の交点 円と直線の交差判定 円と直線の交点 凸多角形と線分の包含判定 多角形と点の包含判定 直線と直線の交差判定 直線と直線の交点 直線と線分の交差判定 線分と点の交差判定 線分と線分の交差判定 距離 最遠点対 直線と点の距離 直線と直線の距離 直線と線分の距離 線分と点の距離 線分と線分の距離 多角形 凸包 凸多角形のクリッピング その他 アレンジメント ダイス 三次元幾何 直線と直線の距離 グラフ 基礎 データ構造 最短路 Bellman-Ford Dijkstra Warshall-Flo
OpenMPは複数のCPU(複数コアを含む)を持った計算機上での並列化に威力を発揮する。 OpenMPを使う最大の利点は、OpenMPに対応したコンパイラであれば、非常に簡単に並列化できる点である。 現在、gcc、Visual C++、およびIntelコンパイラなど主要なコンパイラはOpenMPに対応している。 習得も他の並列化技法に比べて比較的容易である。 なお、速度を最優先にする場合、単一コンピュータ上で動かした場合でも、メモリのローカリティのためかOpenMPよりMPIの方が効率のよいことが多い。MPIに関してはこちらを参照。 なお、インテルがOpenMP初心者向けに非常にわかりやすい文書を公開している。 OpenMPプログラムのコンパイル OpenMPの各種関数を使わない場合、#pragma ompで始まる指示をソースコード内に書き込み、下記のコンパイルスイッチをつけてコンパイルす
Hello and welcome to a new series of articles (or column, if you wish) on the topic of raytracing. For those that do not know me: My name is Jacco Bikker, also known as 'Phantom'. I work as '3D tech guy' at Overloaded, a company that develops and distributes games for mobile phones. I specialize at 3D Symbian games, which require highly optimized fixed-point, non-HW-accelerated 3D engines, cramm
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く