2005-03-01から1ヶ月間の記事一覧

本を買う

Javaコレクションフレームワーク作者: 田中良浩,小山博史出版社/メーカー: ソフトバンククリエイティブ発売日: 2005/03/01メディア: 単行本購入: 2人 クリック: 22回この商品を含むブログ (10件) を見る 新しい本が本屋さんに出ていたので買ってみることにす…

最小公倍数を求める

単なるC言語のint型では最小公倍数なんかはすぐに桁あふれしやすいかもしれないので計算しないほうがよいのかもしれないのでしょうけれども、最小公倍数に関するおぼえやすい等式があったりしたのでそれを使ってプログラムを書いてみる。 #include <stdio.h> #include <stdlib.h></stdlib.h></stdio.h>…

うちの学校について

うちの学校のウェブページ上に公開されているPDFのなかに、先生がたの業績の報告書があった。この報告書は自分が何をし、そしてどの科目を担当し、何人受講のところを何人の学生に単位を与えたかなどが書かれている。うちの学校の先生の中でとても興味深いこ…

買った本は少し読むのに疲れる

この本は縦一行の行列はスペースを取るからと(x,y,z)Tのように列ベクトルは転置行列を使った書き方をしています。縦を横にして表記して、読むときは横のものを縦にしなければならないので読むのが少し疲れます。もう少しそういう配慮があってもよさそうな…

Operaのリンク集

Opera http://www.opera.com/ Opera SoftwareBeta Testing http://snapshot.opera.com/ Opera FTP Download ftp://ftp.opera.com/pub/opera/ Opera PukiWiki http://opera.yaske.com/

ピタゴラス数の計算

ちょっとおもしろいアルゴリズムがあったので試してみる。求めるピタゴラス数の計算でのcの上限がつまり65535にすると一秒弱であっという間に計算できてしまうのがすごい。 /* ピタゴラス数 高速版*/ /* http://club.pep.ne.jp/~asuzui/page9.html */ #inclu…

Programming from the Ground Up

http://savannah.nongnu.org/projects/pgubook/ プログラミング入門みたいな文書なので英語の文章を読むのにはいいかもしれない。第一章を印刷して読んでみます。この文章は200ページもあるのでゆっくり読みます。

セールスマンいちびり^^;

さっきウチに日本アクアサービスが台所の残留塩素のチェックを やるとかなんとか聞きに来ました。「この地区担当で……」とか言うし 大家さんから来てないみたいなので帰ってもらいました。怪しさ満点。ようやくウェブを調べて分かりました。 http://www.infin…

CLCで買った本を読む

人生を導く5つの目的―自分らしく生きるための40章作者: リックウォレン,Rick Warren,尾山清仁出版社/メーカー: パーパスドリブンジャパン発売日: 2004/06メディア: 単行本購入: 6人 クリック: 68回この商品を含むブログ (33件) を見る なぜなら、万物は御子…

帰郷の時、買った本を読む

プログラミングのための線形代数作者: 平岡和幸,堀玄出版社/メーカー: オーム社発売日: 2004/10/01メディア: 単行本購入: 27人 クリック: 278回この商品を含むブログ (90件) を見る 函館には本屋さんが少ないので札幌に戻ったときにはたくさん買いだめをしま…

strsafe.hの使い方Ex編

ExありとExなしでははたらきそのものは同じなようですが、出力してくるものが増えてくるようです。ふだんの業務ではExなしで十分なようですが、さらなるセキュリティに配慮するとなるとExありバージョンを使うとよいようです。 StringCchCatEx() /* strsafe.…

CchとCbの違い

strsafeにはCchとCbの2つのモードがある。正直どっちがどんな特徴でどんなときに使い分けをすればよいのかわからない。調べてみると次のようだ。つまり、Cchは文字単位で操作されて、Cbはバイト単位でコピーされるようだ。 Cch Character Copy Cb Byte Copy …

安全な文字列のはかり方

文字列の長さを測るのはメモリを書き換えたりしないので安全な関数など新規に要らない気がするが、マイクロソフトは文字列の数を数える関数を新しく書いている。で、そのサンプルプログラムなのだが、あんまし自然なサンプルじゃないなあとか思う。まあ、サ…

strsafe.hの使い方

マイクロソフトの開発環境に目新しいのって言ったらstrsafe.hの存在が挙げられる。で、ちょっとしたサンプルプログラムを書いてみたかったので書いてみた。MSDNにもあんまりサンプルが載っていないのでちょっとあんまり使い方がわかんないので少し困る。やっ…

友だちの部屋で朝まで

新婚さんちの部屋をあとにして札幌駅に行ったらヨドバシカメラにも行ったのですが、あまり見ることができませんでした。そして友だちの部屋に行きました。友だちの部屋の荷物が徐々に多くなってきて、これが男の部屋なんだなって感じました。で、朝の3時まで…

新婚さんちに訪ねる

いろいろ何かと日頃からお世話になっている新婚さんの家におじゃましました。お目当ては苺大福です。イメージしていたのと実際のとはとても違っていておもしろかったです。実際は苺そのまんま入っているようなようすでした。また、コーヒーもごちそうになり…

札幌に戻る

前日ものすごい熱が出ていたので高速バスの予約をしようかどうか迷っていたのですが、とうとうしなくてそのままになっていたので今日は高速バスに乗れません。かといって明日は人と会う約束をしていたのです。高速バスで行くならどんなにがんばっても明日の…

風邪で一日中寝込む

久しぶりに風邪で一日中寝込んでしまった。高校生や予備校生や、しかも大学生の今ごろまで数年間熱を出すようなことはなかったんですが、久々にずいぶんと熱を出してしまいました。しかも体温計が無いのでどのぐらい熱が上がったかも分からない。一人暮らし…

「このサイトは削除されました。」にいらいらする

アセンブラについてIntelのウェブをいろいろと調べていたら、「このサイトは削除されました。」というリンク先のあっけない返事にいらいらしてしまいました。削除じゃなくて単なる移動な気がするし、移動先を示してほしいし、もう少しどうにかならないものか…

アセンブルコードに書くべきもの

asm

いろいろな人のアセンブルコードを読んでみると、ソースコードに書くべき情報がわかってくる。ライセンスはもちろんのこと、コードをコンパイルするための最低限の手順だ。アセンブラにはたくさんの種類があって、それぞれ特徴があって、互いに互換性があま…

コンピュータの本質

ふだんは触れることのないアセンブリの世界なんてものを覗いてみてしまったおかげでいろいろ考えることがあった。そのひとつが最適化と速度向上の話である。この頃、Windowsだとか、近頃ではLinuxも肥大化が進んでしまってシステムの巨大化はもう行くところ…

アセンブラをやる基本方針

asm

アセンブリについて少ない知識ながらもどういう風にやればよいかという情報体系が整いつつあるようなので、はじめに思っていたことなどからこれからアセンブラを続けるにあたって基本方針を自分の中に確認しておこうと思う。 APIやシステムコールまでには立…

使うのが最難関に近い呼び出し規約の__fastcallであった

asm

C言語にはアセンブリコードに落とす際に、サブルーチンどうしでどうやって引数を受け渡してもらうかというのがあって、これを呼び出し規約と呼ぶ。一番使っていて簡単なのは__cdeclである。引数は一番目がesp+4で二番目がesp+8と連続していてとても扱いやす…

スタック操作でスタックポインタの位置を見る

asm

関数を呼び出すときや呼び出し元に戻るときなどにスタックポインタというものを利用しているらしいのですが、どうもスタックポインタが具体的にメモリ上にどこら辺にあるのか出力させてみなければはっきりとわかりません。そういうことでプログラムを書いて…

論理計算をしてみる

asm

C言語でもできることだが、AndとかOrとかXorの計算をアセンブリコードで実装してみる。すべてアセンブリコードでやると入出力なんか考慮しなくてはならないので、関数部分だけアセンブリコードで書く。 logic.asm global _and global _or global _xor sectio…

いくらさがしてもあまりアセンブラの資料が見つからない

asm

かなりウェブを探し回ったんだけど、C言語なみとはいかないものかなあ、とちょっとあきらめ気味です。確かにアセンブルソースを手書きで書く人は桁違いに少ないだろうし、そもそもコンパイルがどういうアセンブルソースを出力してくるかおぼろげながらわかる…

nasmファイル編集が楽になるように

asm

NASM用強調表示定義ファイル アセンブリのファイルを秀丸で編集するにはnasm用の強調表示ファイルが用意されているので、これを使うといいかもしれない。ただ、ファイルだけあってインストール方法がわからないのでどうしようもないので、ここにインストール…

Operaのライセンスを無料で入手できました

やっぱりOperaの広告がないとすっきりします。Operaのライセンスを無料で入手できました。とは言ってもべつにライセンスキーをどっかから盗んできたというわけではなく、Operaが大学で無償利用できるサービスがあるのでそれを利用したのです。でも、Operaが…

実際にコードを書いてみる

asm

use_asm.c /* use_asm() 引数なし版 */ #include <stdio.h> int use_asm(void); int main(void) { printf("use_asm() = %d\n", use_asm()); }asm.s ;; nasm file global _use_asm section .text ;; eaxレジスタの値が返り値になる _use_asm: mov eax, 123h ret という</stdio.h>…

アセンブラまとめ

asm

何かとアセンブラについてどういうものかわかり始めた。アセンブラ言語を学ぶ目的は、C言語からアセンブリを呼び出して関数を最適化するためである。メルセンヌツイスターという乱数を高速化するのもやってみたい。 x86アセンブリ言語入門 実際にオブジェク…