「開発関係」の編集履歴(バックアップ)一覧はこちら
「開発関係」(2008/01/15 (火) 02:57:26) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
* Embedded C++に関して
** 概要
- PDA(Pocket PC)のアプリを実装する上で必要そうだったため,メモっておく.
** COMで使用できるデータ型
- COM型名
|''SCODE'' |ステータスコード.実際には数値.|
|''HRESULT'' | 関数呼び出しの実行状況を示す数値.以下のような値が定義されている.|
|''GUID'' | GUID.|
|''VARIANT'' |どの型でも格納可能な型.|
|''BSTR'' | 文字列長さが埋め込まれた文字列型.|
|''VARIANT_BOOL'' |COM用の論理.|
|''DATE'' | 日付型.COIeDataTimeクラスを通じて使用.|
|''CURRENCY'' |通貨型. COIeCurrencyクラスを通じて使用.|
- HRESULTの値
|S_OK|操作が正常終了|
|E_UNEXPECTED|予測不可能なエラー|
|E_NOTIMPL|実装されてない|
|E_INVALDARG|ひとつ以上の引数が無効|
|E_NOINTERFACE|ノットサポートインタフェース|
|E_POINTER|無効ポインタ|
* PostgresSQLに関して
** ログ出力
- 通常ログ出力
$ tail -f /CATALINA_PATH/catalina.out
- n秒おきにログが流れる出力 (実際に開発してるとこのスピードで流れるほうがログ追いやすいので)
$ while :; do echo "hogehoge" >> /CATALINA_PATH/catalina.out ; sleep 1s(ns); done | tail -f /CATALINA_PATH/catalina.out
*ただのメモ
** Google関係
- Googleのソフトウェアエンジニアリング
-- Googleでのソフトウェア開発に興味があれば [[こちら>http://blog.livedoor.jp/heitatta/archives/54439839.html]] を参照.
** Tips
- パスワードの生成と記憶術 [[http://www.itmedia.co.jp/bizid/articles/0608/01/news012.html]]
- OutputDebugStringを使いやすくするためのマクロ
-- 以下のコードをソースの上部に貼り付けると,printf()と同じ使い方ができる.
#include <windows.h>
#include <stdio.h>
#if defined(_DEBUG) || defined(DEBUG)
// Debugのとき
#define TRACE(x) OutputDebugString(x)
#define TRACE0(x) OutputDebugString(x)
#define TRACE1(x, a) MyOutputDebugString(x, a)
#define TRACE2(x, a, b) MyOutputDebugString(x, a, b)
#define TRACE3(x, a, b, c) MyOutputDebugString(x, a, b, c)
#define TRACE4(x, a, b, c, d) MyOutputDebugString(x, a, b, c, d)
#else
// Releaseのとき
#define TRACE(x)
#define TRACE0(x)
#define TRACE1(x, a)
#define TRACE2(x, a, b)
#define TRACE3(x, a, b, c)
#define TRACE4(x, a, b, c, d)
#endif
void MyOutputDebugString( LPCSTR pszFormat, ...)
{
va_list argp;
char pszBuf[ 256];
va_start(argp, pszFormat);
vsprintf( pszBuf, pszFormat, argp);
va_end(argp);
OutputDebugString( pszBuf);
}
- MessageBoxを出力する方法
-- こんな感じ↓
#ref(error.JPG)
MessageBox(NULL, L"daeファイルが読めません", L"Error", MB_OK);
** Screen
- エスケープ
# less .screenrc
escape ^T^T
- セッションの再アタッチ
$screen -d -r
#amazon(B000NN5B3A,text)
* Embedded C++に関して
** 概要
- PDA(Pocket PC)のアプリを実装する上で必要そうだったため,メモっておく.
** COMで使用できるデータ型
- COM型名
|''SCODE'' |ステータスコード.実際には数値.|
|''HRESULT'' | 関数呼び出しの実行状況を示す数値.以下のような値が定義されている.|
|''GUID'' | GUID.|
|''VARIANT'' |どの型でも格納可能な型.|
|''BSTR'' | 文字列長さが埋め込まれた文字列型.|
|''VARIANT_BOOL'' |COM用の論理.|
|''DATE'' | 日付型.COIeDataTimeクラスを通じて使用.|
|''CURRENCY'' |通貨型. COIeCurrencyクラスを通じて使用.|
- HRESULTの値
|S_OK|操作が正常終了|
|E_UNEXPECTED|予測不可能なエラー|
|E_NOTIMPL|実装されてない|
|E_INVALDARG|ひとつ以上の引数が無効|
|E_NOINTERFACE|ノットサポートインタフェース|
|E_POINTER|無効ポインタ|
* PostgresSQLに関して
** ログ出力
- 通常ログ出力
$ tail -f /CATALINA_PATH/catalina.out
- n秒おきにログが流れる出力 (実際に開発してるとこのスピードで流れるほうがログ追いやすいので)
$ while :; do echo "hogehoge" >> /CATALINA_PATH/catalina.out ; sleep 1s(ns); done | tail -f /CATALINA_PATH/catalina.out
*ただのメモ
** Google関係
- Googleのソフトウェアエンジニアリング
-- Googleでのソフトウェア開発に興味があれば [[こちら>http://blog.livedoor.jp/heitatta/archives/54439839.html]] を参照.
** Tips
- パスワードの生成と記憶術 [[http://www.itmedia.co.jp/bizid/articles/0608/01/news012.html]]
- OutputDebugStringを使いやすくするためのマクロ
-- 以下のコードをソースの上部に貼り付けると,printf()と同じ使い方ができる.
#include <windows.h>
#include <stdio.h>
#if defined(_DEBUG) || defined(DEBUG)
// Debugのとき
#define TRACE(x) OutputDebugString(x)
#define TRACE0(x) OutputDebugString(x)
#define TRACE1(x, a) MyOutputDebugString(x, a)
#define TRACE2(x, a, b) MyOutputDebugString(x, a, b)
#define TRACE3(x, a, b, c) MyOutputDebugString(x, a, b, c)
#define TRACE4(x, a, b, c, d) MyOutputDebugString(x, a, b, c, d)
#else
// Releaseのとき
#define TRACE(x)
#define TRACE0(x)
#define TRACE1(x, a)
#define TRACE2(x, a, b)
#define TRACE3(x, a, b, c)
#define TRACE4(x, a, b, c, d)
#endif
void MyOutputDebugString( LPCSTR pszFormat, ...)
{
va_list argp;
char pszBuf[ 256];
va_start(argp, pszFormat);
vsprintf( pszBuf, pszFormat, argp);
va_end(argp);
OutputDebugString( pszBuf);
}
- MessageBoxを出力する方法
-- こんな感じ↓
#ref(error.JPG)
MessageBox(NULL, L"daeファイルが読めません", L"Error", MB_OK);
** Screen
- エスケープ
# less .screenrc
escape ^T^T
- セッションの再アタッチ
$screen -d -r
#amazon(B000NN5B3A,text)
#amazon(B0006IX7KG,left,text)