cwnicol programming

プログラミング関連の投稿をすこしだけ

memo

Private Sub CommandButton1_Click() Dim wb As Workbook 'Dim wb As Object Dim path path = Application.GetOpenFilename("Microsoft Excelブック,*.*") Set wb = Workbooks.Open(path) 'wb.Worksheets("Sheet1").text1.Value = "1" 'wb.Worksheets("Sheet…

ダウンロードが完了したらサスペンドする

動作確認環境:Windows XP HOME 使用方法:下記ソースをエディターでxxx.jsと保存する。ダブルクリック。 普段はサスペンドしてるんだけど、何かダウンロードしていても サスペンドに移行してしまって、大きなファイルをダウンロードして いると中断されてし…

Q&A用フォーマット

[サンプルファイル] https://db.tt/62JRDnek[イメージ] 複数地点でメールでエクセルファイルを送りあって、Q&A形式でやり取りしたい時に、 使うフォーマットを考えてみた。フォーラム型掲示板の形式をマネした。 (現在はこんなwebサービスもたくさんあるだろ…

共有サーバのディレクトリ構成が自分好みではない場合(Windows)

共有サーバのディレクトリ構成が自分好みではない場合に、 ローカルPCに、共有サーバのディレクトリのショートカットを作成して、 そのショートカットの名前を自分好みにする。 階層化するには、新しいフォルダを作ってその中にショートカットを 入れるし…

#includeでcsv読み込み(C, C++)

環境:VSC++ 2008 http://twitter.com/tt_clown/status/22769039758 > C++ と言うか C で今までで一番「ああその発想はなかった」てのは, > int hoge[] = { #include "hoge.csv" }; こんなの見つけたから試してみた。 以下、テストプログラム、データファイ…

DllImport 属性

C#からCのDllを使用する際には、DllImport 属性を使う。 これは従来のリンクの用語でいう「明示的なリンク」の模様。 実行時の、さらに該当コード部に制御が移ると、メモリ上にロードされると。 Cの頃にやってたような明示的なリンク特有のめんどくさい手順…

linux 下位ディレクトリのソースをgrep

find . -name '*.c' | xargs grep -n hoge /dev/null・hoge:検索文字列 ・'*.c'を'*.h'にすれば検索対象をヘッダーファイルに。 ↑シングルクオート

Windows環境 ファイル分割

・あるWindows環境で、フリーソフトのインストールが禁止されている。 ・ファイルを分割したい。 ・開発環境は手元にある。 上記に当てはまる場合には、下記コードを自分の環境でコンパイルして、 ファイルを分割しては? (コマンドプロンプトでは、結合はで…

2重ループを抜ける

(1)フラグを用いる。 while(XXX){ /* ループ1 */ bool bFlg1 = false; bool bFlg2 = false; while(XXX){ /* ループ2 */ /* hogehoge */ if(ZZZ){ /* ループ1でcontinueしたい現象が ループ2内で発生 */ bFlg1 = true; break; } if(ZZZz){ /* ループ1でbreak…

windows コマンド

net view 自分が参加しているドメインで使用可能なサーバ一覧(?)net view /domain 自分が参加しているネットワーク内に存在する、ドメイン 及びワークグループ一覧 - netstat アクティブなTCPコネクション情報一覧netstat -b ローカルの該当ポートを使用…

fopen()のテキストモード、バイナリモード

これらのモード指定はWindowsでfopen()を使用する際に 考慮するものだ。 Linuxでモード指定は必要ない。なぜならばLinuxにおける 「テキストファイルの改行コード」と「プログラム内部の改行コード」が 一致しているからだ。(共に0x0a) OS テキストファイル…

C++ソースから、Cで作成したライブラリをリンクする方法

■概要 何も考えずに下図のような構成にすると、 C++ソース(下図ではA.o)から、Cで作成したライブラリ(下図ではC.o)を リンクできない。 ■原因 関数呼び出し1で、探している名前("関数Z@sjadfpioa"(*1))と 実際の名前("関数Z")が異なるので、関数Zを探し…

データ構造が配列になっていない場合の対処方法

データ構造が配列になっていれば、ループを使用して、 書けるが、配列構造になっていない場合には、変数の 数だけ関数を書かなければならない。 →マクロを使用してなんとかならないか(←出発点) (追記)マクロのほかに、ワーク用領域(配列を使って定義)…

C言語 ファイルサイズ(バイト)取得

GetFileSize ■注意点 fpos_t型は、環境により実装が異なるらしいので、 GetFileSize関数でファイルサイズ取得後は、 適宜環境に合わせてposを使用のこと。 ■fell()かfgetpos()のどちらを使用するかについて fell()を使用すると、long型でファイルサイズを取…

gdb core デバッグ

limit[リターン]coredumpsize unlimited → coreを生成する coredumpsize 0 kbytes → coreを全く生成しない limit coredumpsize unlimited デバッグ手順>gdb プログラム coreファイル

c言語 qsort

#include<stdio.h> #include<stdlib.h> #define SIZE 10 typedef struct{ int i; char str[5]; } hoge; int Comp(const void *, const void *); void print(hoge *); // メイン int main(){ hoge shoge[SIZE] = { {3, "abc"}, {1, "ABC"}, {9, "uyr"}, {2, "4gy"}, {4, "stg"}, </stdlib.h></stdio.h>…

Microsoft Loopback Adapterを使う。

Virtual PC上のLinux(ゲストOS)とWindows(ホストOS)で通信したい。 以下Microsoft Loopback Adapterを使用してそれを実現。 ホストOS : Windows XP ゲストOS : Linux(RHEE9)[ ]はどちらのOSで行うかを示す。 (1)Microsoft Loopback Adapterをインストール[ホ…

float型をhtonl(), ntohl()

int main(){ int i; char *p; float f = 1; for(i = 0;i < sizeof(float);i++){ p = (char *)&f; printf("%02X ", (char)*(p + i)); } putchar('\n'); f = htonl(f); //f = htonl(*(long *)&f); for(i = 0;i < sizeof(float);i++){ p = (char *)&f; printf("…

リトルエディアン ビッグエディアン 判別プログラム

int main(){ short s; char *cp; s = 1; cp = (char *)&s; if(*cp){ printf("リトルエディアン\n"); }else{ printf("ビッグエディアン\n"); } return 0; } shortは上図のように2バイトを使用する。 ・リトルエンディアンの場合には、低位バイトから値を格納…

ソフトウェア 視点

ソフトウェアに対する視点は2つある。 一つは開発者の視点。 もう一つは利用者の視点。 ソフトウェア開発者には、開発者の視点だけではなく 利用者の視点も必要。 コーディングは開発者の視点で、 テスト項目は利用者の視点で作る?

vi タグジャンプ

ソースのトップディレクトリで ctags -R . Ctrl + ] タグジャンプ Ctrl + o または Ctrl + t タグジャンプバック Ctrl + w } カーソル位置の単語の定義を、プレビューウィンドウで開く。 Ctrl + w Ctrl + z プレビューウィンドウを閉じる。(:pcと同じ) g Ctr…

GDB アタッチ

参考URL:http://www.fireproject.jp/feature/gdb/advanced/attach.html (1)fileでシンボルファイルすなわちこれからattachするプロセスの シンボル情報を持っているファイルを指定する. (2)directoryコマンドで読み込んだファイルのソースを検索できるように…

GDBデバッガの使い方

■主なコマンド コマンド 意味 r 実行開始 s ステップイン n ステップオーバー fin ステップアウト q gdb終了 p 値の表示(任意の式を実行することも可(※1)) x 値の表示 set 値の設定。pを使って設定してもよい。例)p hoge=1 ※1 p memset(hoge, 0x00, sizeof(h…

#ifdef、#endifを使わないデバッグprint

#include <cstdio> using namespace std; #define DEBUG #ifdef DEBUG # define DEBUG_PRINTF(message) fprintf(stderr, message) # define DEBUG_PRINTF2(f, a, b) fprintf(stderr, f, a, b) #else # define DEBUG_PRINTF(message) # define DEBUG_PRINTF2(f, a, b)</cstdio>…

技術情報

技術情報をちょこちょこ貯めていこうと思う。 しっかりと裏がとれてないものもあると思うので 流用する場合には気をつけて。間違いを見つけたら指摘してください