酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

開発-C/C++

フリーの静的コード解析ツール「Splint」について

弊社では静的コード解析ツールを使っていません、というよりも環境が少し特殊でして解析ツール自体がありません*1。毎回クライアントに静的解析をお願いして解析結果を頂いています。逆にクライアントから任意のタイミングで解析結果をまとめたエクセルシー…

なんとエラーメッセージが取得出来た

WIN32APIで処理に失敗した後にGetLastError()を使いなさいとは、リファレンスに書かれていたので知っていたのですが、数字(ID)だけ見ても何もわかんねーYO!!と思っていました。今日たまたま知ったのですが、GetLastError()で取得したIDからエラーメッセージ…

32bit CPUでは、64bitの演算がどのようにおこなわれているか調べてみた

昨日「C99でlong long int型が予約語に増えました。32bitCPUではこのlong long intの演算をどのように扱っているのか」と、考えていました。考えるもなにも、実際にVCの混合モードでアセンブラをみたら解決しました。 void oppai(void) { unsigned long long…

embUnitには河童の血が流れていた件について

embUnitはCUnitの改造版でC言語の標準関数を使わずに、128kほどのスタック領域と4kほどのROM領域が確保出来れば使用できる*1組み込みソフト用テストフレームワークです。 今日は予定していた仕事が来ず手が空いたのでembUnitを試してみました。 |c| static v…

C/C++からPerlを使ってみよう

MFCからPerlスクリプトをコールしてみたくなったので関連記事を探してみました。 [C/C++][Perl] C プログラムから Perl コードを実行する - Open MagicVox.net 上記のサイトを参考に適当なスクリプトを作ってみました。2つの引数を表示するんで"print_arg.pl…

Windowsユーザーが超お手軽に「boost」をインストールする

今更と言われるかもしれませんが、正規表現を使いたかったのでboostを導入してみました。完全にwindowsユーザー限定のエントリとなりますが、超お手軽にboostをインストールする方法を知ったのでご紹介します。これからboostを使う方の参考になればなにより…

PSPでHOMEキー押下に対応させる

まともに説明書きがある所がなかったので試行錯誤を繰り返しているのですが、なかなか成功しません。HOMEキーを押下で中断画面が出て「このままお待ちください」と、いう画面でフリーズしているようです。 ネットで見つけたソースと同じ様にしているはずなの…

PSPで矩形出ました

標準関数が使えないのでどうやって攻略していけばよいかわかりません。STGを作りたいけど矩形描画で悩んでいる段階ではたして出来るのかどうか…… 矩形描画の関数を書いてみました。今のところこんな感じです。結構 無駄な処理をしてそうですね、もっと高速化…

PSPで透過色を透過出来る様になりました。

helloPSPのソースをいじりながらPSPプログラミングを勉強中です。pgBitBlt()少し改造してみました。 上記の画像の作成には、ぶーにゃんの部屋のPNG<>PSP画像形式のC変換ツールを使わせて頂きました。Windows付属のペイントとこのツールだけでPSPですぐ使える…

.dllを作ろう!

かくかくしかじかと言うことでDynamic Link Libraryです。 dllを作りたい とある謎ツール(正式名称)を作る事になりました。その為にはdllを作らねばならず作り方勉強も兼ねて一通り調べてみました。 この間まで.h(ヘッダファイル)の作り方が難しいと思っ…

ファイル出力と構造体

(2011/12/24 追記) 旧ブログから記事を移行しています。 あまり難しい問題ではありませんでした。これで構造体にポインタを使っていたらC言語初心者卒業できていたのかしら・・・しかしながらなんとなくファイルの入出力は見えてきましたね。猿でも覚えれる反復…

怪しいパック10進数の作り方

(2011/12/24 追記) 旧ブログから記事を移行しています。 バイナリファイルへの出力は2進数でするべきものだと思っていたがどうやら16進数で出力しなければならないようだ(多分) よって、出力する直前で16進数へ変更してやる必要がある。思いついた方法は全…

新しい課題

(2011/12/24 追記) 旧ブログから記事を移行しています。 さてSMTPを使ったメーラを作る予定でしたが、お前にはネットワーク関連は難しすぎたやろうって事で新しいお題をいただきました。 コマンドラインからtxtファイルを引数としてもってくる txtファイルの…

怪しいパック10進数の作り方

(2011/12/24 追記) 旧ブログから記事を移行しています。 一応、パック10進数のような配列(下4ビットが1符号ビット)を作るのには成功しました。しかし、本当にこんな作り方でよいのか不安でなりませんが・・・ //パック10進数の作り方 for ( i = 15; i > 0;i--…

ネットワークプログラム指南 その2 アルゴリズム

(2011/12/24 追記) 旧ブログから記事を移行しています。 ネットワークプログラムの中の人の動きが知りたくて試しでキーパンチしていたプログラムがあったのですが、そいつでどーんとハマってしまい当初言われていたプログラムまで触れていません。 私の先生…

ネットワークプログラミング指南 その3 定石

(2011/12/24 追記) 旧ブログから記事を移行しています。 C言語を始めてまだ1ヶ月もたたない人間がネットワークプログラムを極めようとするこの一見無茶な試みがどうして成功するのであろうか(いや、しない)ってことで、Winsock2を使ったプログラミングの定…

ストリーム・ソケット

(2011/12/24 追記) 旧ブログから記事を移行しています。 帰るまで電車の中で本を開けないので、まず接続されるまでの順序を書こう。 まずはsocket関数を使用してソケットを開いて、bind関数でソケット名を決める。そのあとサーバ側でlisten関数からクライア…

構造体の宣言と参照、構造体配列

(2011/12/24 追記) 旧ブログから記事を移行しています。 **構造体とは 異なる型のデータをひとかたまりのデータ型として扱う為のもの。 各データの要素が同じ型なら配列でも代用できますが、要素の型が異なる時には構造体が便利。 << **構造体の宣言 例えば…

C言語、覚え書き その1

(2011/12/24 追記) 旧ブログから記事を移行しています。 メモ1 文字列データをキーボードからscanfで入力する為に実体のある配列を用意しましょう。ポインタ型にしてしまうと、scanfでの入力にメモリ割り当てされていない領域に格納が行われて、暴走の原因…