C/C++ を使うプログラマは大勢います。しかし、その多くは OJT を通して言語を学んだのではないでしょうか? 実はそこに大きな落とし穴があります。 コンピュータや工学のことをよく知らない人たちは、時代の先端を歩むプログラマには「迷信」など無関係だと信じて疑わないかも知れません。しかし、迷信や誤解はどんな世界にも常に存在しています。 というわけで、ここでは C/C++ にまつわる迷信、誤解、よくある間違いを採り上げていきます。非常に後ろ向きな企画ですが、暇つぶし気分転換に読んでみてください。もしかすると、ご自身が迷信にとらわれていたことに気付くかもしれません。 追記(2009/03/15) このコーナーでは、C/C++ にまつわる迷信、誤解、よくある間違いを扱っています。決して「迷信」だけではないのですが、タイトルにはすべて[迷信]を付けています。 これは、主に検索エンジンでタイトルを見
文字列化演算子 マクロ関数だけで使用できる、便利な演算子が用意されています そのひとつが文字列化演算子です マクロ関数で受け取った値に対して#記号をつけることで それを文字列、すなわちダブルクォーテーションをつけた状態に置換えます (プリプロセッサディレクティブであることを忘れないでください。あくまでソース上で置き換わるだけです) #define STRING(str) #str このマクロ関数は、仮引数の値をダブルクォーテーションをつけた状態に置き換えます 次のプログラムを実行してください #include <stdio.h> #define PRINT(str) printf(#str "\n") #define STRING(str) #str int main() { PRINT(Kitty on your lap); printf("%sバイトは1キロバイト" , STRING(
RegexクラスのSplitメソッドを使用して、正規表現にマッチする部分をセパレーターとして、文字列を分割する方法を解説する。 連載目次 正規表現パターンに一致する文字列をセパレーター(区切り)として使って文字列を分割するには、Regexクラス(System.Text.RegularExpressions名前空間)のSplitメソッドを利用する。本稿では、Splitメソッドの使い方を解説するとともに、少し高度な正規表現の書き方も紹介する。 RegexクラスのSplitメソッドは.NET Frameworkの初期からあるものだが、掲載したサンプルコードの全てを試すにはVisual Studio 2015以降が必要である。 なお、正規表現の書き方については、以下の.NET TIPSをご覧いただきたい。
Add2メソッドについて(2019年1月 追記) 2018年10月18日にExcel 2016は機能拡張されて、バージョン1810(ビルド 11001.20074)になりました。このとき実装された機能拡張のひとつに、"新しいデータ型"があります。追加されたのは「株式型」と「地理型」です。両者の型に関しては、下記Microsoftのページをご覧ください。 Excel データ型: 株価と地理 この「株式型」と「地理型」の追加に伴って、セルの並べ替えで条件を指定するSortFieldsコレクションに、新しくAdd2メソッドが追加されました。ちなみに、いままではAddメソッドでした。両者の働きに大きな違いはありませんが、Add2メソッドは、新しい「株式型」と「地理型」のサブフィールドを並べ替えることが可能です。Add2メソッドをヘルプで調べると、次のように記載されています。 この API には、地
2017.07.15「開発環境構築」カテゴリを追加しました。 2017.04.03サイトをリニューアルしました。 2015.05.01「訂正履歴」を更新しました。 2014.01.10「訂正履歴」を更新しました。 2013.08.10「訂正履歴」を更新しました。 2013.01.22「訂正履歴」を更新しました。 2013.01.07レイアウトを一部変更しました。 2010.12.06「おすすめ書籍」ページを追加しました。 2010.11.25「訂正履歴」を更新しました。 2009.08.05各種ソーシャルブックマークボタンを追加しました。 2009.06.10Java Topicsに「スレッドの詳解」を追加しました。 2008.11.19リファレンス・UMLに「タイミング図(Timing Diagram)」を追加しました。 2008.11.16リファレンス・UMLに「相互作用概要図(Int
たとえば、変数 var の値を2進数で表示したい場合は、次のように指定します。 (gdb) p/t var 一覧表示 whatis 変数の型を調べる。 info b 今設定しているブレークポイントの一覧を表示 セグメントフォルトをした後に利用すれば、どの関数で発生したか確認できます。 info stack 関数の呼び出しスタックの一覧を表示 info Thread 存在しているスレッドの一覧を表示 異なるアドレスにおける処理継続 以下のコマンドを使用することで、ユーザが選択したアドレスにおいて実行を継続させることができます jump linespec linespecで指定される行において、実行を再開 jump *address addressで指定されるアドレスにある命令から、実行を再開 アドレスが分かっている場合のメモリリーク出力 xはhexの意味です。 (gdb) p (char*)
浮動小数点演算ではまった話 浮動小数点演算のありがちな問題ではまりました。 いろいろ調べているうちに x86 特有のちょっとおもしろい 現象に遭遇したので紹介したいと思います。 パーセンテージの計算 簡単な C のプログラムでパーセンテージを計算しようと思い、 次のようなコードを書きました。 int x, y; ... int a = (double)x / y * 100; int a = x * 100 / y としないのは、 x が大きい場合に x * 100 が オーバーフローを起こす (INT_MAX を越える) ためです。 このコードは一見、期待通りに動いていたのですが、 しばらく使っていると、手元の環境では x = 53, y = 100 のときに a は 53 ではなく 52 になることに気づきました。 これは次の理由によります。 式の最初の (double)53 / 10
Skip to contentCategory: GDB223月2007 watch変数値の変化を追跡できるとうれしいかもしれない.変数... Fujiko feature, GDB223月2007 プロファイル(gcc)2003-07-20T15:13+09:00 mat... Fujiko feature, GDB193月2007 とにかくちょっと使ってみるgdbをとにかくちょっと使ってみた.準備gdbの起動... Fujiko feature, GDB153月2007 continueとステップ実行breakした後処理を続けるにはcontinueで継... Fujiko feature, GDB113月2007 attachなんらかの理由でgdbからいきなり起動できないプログ... Fujiko feature, GDB093月2007 プログラムのフロー(cflow)ctagsやe
gdb の gcore コマンドを使う デバッガの理論と実装を読んで以来、デバッガをもっと活用しようという意欲がわいてきました。そこで、gdb について調べていると、 gcore (generate-core-file) というコマンドを見つけました。 gcore は実行中のプロセスの core を生成する gdb のコマンドです。通常、 core ファイルはプログラムが異常終了したときにカーネルによって生成されますが、gdb の gcore コマンドを使えば実行中のプロセスを終了させることなく core ファイルを生成できます。 gcore コマンドは次のように使います。 % gdb (gdb) attach PID (gdb) gcore core (gdb) detach まず attach コマンドで PID を指定して実行中のプロセスにアタッチします (gdb -p PID で起
作成日:2004.05.04 修正日:2012.09.01 このページは 2003年の9/11、9/28 の日記をまとめて作成。 はじめに PowerPC 系や Alpha などには population count と呼ばれるレジスタ中の立っているビット数を数える命令が実装されている。 集合演算を行うライブラリを実装したい場合などに重宝しそうな命令である。 職場でこの population count 命令について話をしているうちにビットカウント操作をハードウェアで実装するのは得なのか?という点が議論になった。 CPU の設計をできるだけシンプルにするためには、複雑で使用頻度の低い命令は極力減らした方がよい。 例えば SPARC は命令セット中にビットカウント演算があるが、CPU 内には実装しないという方針をとっている(population 命令を実行すると不正命令例外が発生し、それを
Kodama's home 適宜, 加筆/修正しています. PowerShell, LaTeX/latex2html, Ruby, プログラミング, Linux での調べ方, Linux/UNIX, いろいろごっちゃ, このページの利用について 最近の文書 PowerShell の概要 PowerShell の文法 CSV の PowerShell への読み込み メールサーバ管理/サイト管理の調査 .forward で簡易着信通知 LaTeX で増減表に用いる曲った矢印 "the quick brown fox..." って何よ? 文字の出現頻度を調べる. LaTeX 文書の編集に emacs のアウトライン モード を使う LaTeX で作成する PDF のフォント埋め込み LaTeX \section などで箇条書きのように字下げする方法 Linux ディスクキャッシュの開放 Linu
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く