ZTMSブログ

自作フリーソフトやプログラミング雑記

 > Win32

アプリ終了時のOpenSSLメモリ解放

アプリ終了時のOpenSSLメモリ解放

自分のコードがメモリリーク(解放漏れ)していないか調べようと、Visual C++ でアプリケーション終了時に解放されていないメモリ領域を教えてくれるデバッグ用の関数 _CrtSetDbgFlag を使ってみたら、ものすごい大量のリーク領域が報告された。なんだこりゃ?いったい何事か??と思ったら、どうやらOpenSSLの中でメモリ解放されていないもよう。そういえばOpenSSLは SSL_library_init 関数で初期化(利用開始)するが、対応する...

... 続きを読む

* by ZTMS
コメントありがとうございます。OpenSSLは確かに、何かの条件で挙動が不安定になり、よくわからないまま何となく回避できた?ような事がちょこちょこある印象です。もうすこし安定感があるとうれしいですね。。

* by ADMIS
valgrindでメモリリークを探していたら、まさかのOpenSSL……。OpenSSLはSSL_readがハングアップするなど、非常に手間取らせられていました。見ず知らずではありますが、素晴らしいコードをありがとうございます。非常に助かりました。

[OpenSSL] 自己署名サーバ証明書をC言語で作る

[OpenSSL] 自己署名サーバ証明書をC言語で作る

証 明 書俺HTTPS通信で使うSSLサーバ証明書(自己署名)を、OpenSSLを使ってプログラム(C言語)で自動生成したい。ググったらコマンドライン(opensslコマンド)のやり方はすぐ見つかったけど、プログラムコード例はあまり見つからなかったのでメモ。環境:WinXP Home SP3 / VC2008 Express / OpenSSL 1.0.0j / C言語参考サイトhttp://stackoverflow.com/questions/16364522/how-do-i-create-a-self-signed-certificate-in-openss...

... 続きを読む

タスクトレイ(通知領域)アイコンのバルーンは_WIN32_WINNTが0x500台なら出るけど0x600だと出ないのはなぜ?

タスクトレイ(通知領域)アイコンのバルーンは_WIN32_WINNTが0x500台なら出るけど0x600だと出ないのはなぜ?

どうして・・?環境はXP+VC2008Express。#pragma comment(lib,"user32.lib")#pragma comment(lib,"shell32.lib")#ifdef __BORLANDC__#define _WIN32_IE 0x0502#endif#define _WIN32_WINNT 0x0502#include BOOL TrayIconNotify( HWND hwnd, UINT msg ){ NOTIFYICONDATA ni; memset( &ni, 0, sizeof(ni) ); ni.cbSize = sizeof(ni); ni.hWnd = hwnd; switch( msg ){ case NIM_ADD: ni.uFlags = NIF_ICON |...

... 続きを読む

[Win32]ツールチップが動かない件

[Win32]ツールチップが動かない件

自作アプリにツールチップをつけようとしたら、ぜんぜん動かなくてハマった件。環境:WinSP Home SP3, VC2008Express, C言語, Win32APIググったところ、ツールチップ表示で使うTOOLINFOW構造体は、comctl32.dllのバージョン5と6でサイズが異なり、コンパイル時はver6のつもりでも実行時はver5(のcomctl32.dll)がロードされてしまい、構造体サイズが不正となる結果、ツールチップが動かないという事らしい。なぜかUNICODEコンパイル...

... 続きを読む

C言語でDetectInputCodepage

C言語でDetectInputCodepage

IMultiLanguage2::DetectInputCodepage を、C++じゃなくてC言語で使う方法メモ。環境:WinXP Home SP3、VC2008Express★ヘッダファイル#include <mlang.h>★COM初期化CoInitialize(NULL);★IMultiLanguage2インスタンス生成IMultiLanguage2 *mlang2;HRESULT res;res = CoCreateInstance(        &CLSID_CMultiLanguage        ,NULL &nb...

... 続きを読む

Operaプライベートブラウジングウィンドウ起動3

Operaプライベートブラウジングウィンドウ起動3

Operaバージョン: 11.61, 11.64Operaのバージョンが上がって空白ページのタイトルが変わったみたいでちょっと変更。よく考えたらこのスクリプト、Operaの設定で起動時の動作=ホームページを表示する、ホームページ=about:blankが前提かも。あと、スクリプトファイルをOpera.exeと同じフォルダに置く前提でパスを自動取得するようにしてみた。...

... 続きを読む

Danislav * by http://www.mosagrotechnika.ru/
Your site won’t show up properly on my iphone – you may want to try and fix that

わーいXPでWin7+IE9動いた(^^)/けど・・

わーいXPでWin7+IE9動いた(^^)/けど・・

2013年11月現在、modern.IE から無料ダウンロードできる仮想マシンイメージが種類も豊富で、対応する仮想化ソフトも選べて便利です。H/W: VAIO type F (VGN-FT91S)OS: Windows XP Home Edition SP3CPU: Core Duo T2300Mem: 2GBマイクロソフトが公開しているVirtualPC用の仮想マシンイメージを使う。こんなものがあったのね。Internet Explorer Application Compatibility VPC Imagehttp://www.microsoft.com/download/en/details.a...

... 続きを読む

[JScript]ActiveXObjectでつくったオブジェクトに独自プロパティを追加できない件

[JScript]ActiveXObjectでつくったオブジェクトに独自プロパティを追加できない件

JScriptのActiveXObject( 'WScript.Shell' )でつくったオブジェクトに、独自プロパティを追加したいんだけど、できない。なんで?var shell = new ActiveXObject( 'WScript.Shell' );shell.myFunction = function(){};エラーになってしまうよ。...

... 続きを読む

Operaプライベートブラウジングウィンドウ起動2

Operaプライベートブラウジングウィンドウ起動2

Operaバージョン: 11.50前回のスクリプトは、まったく使い物にならないゴミ同然の粗悪品であった。Operaの起動に時間がかかる(1秒を超える)と、もう期待通り動かない。おまけにOSシャットダウンをしようとするような害悪まであるもよう。というわけで、せめてウィンドウの起動完了を確認してから次の処理にすすむよう改善してみた。全体の待ち時間も短くなっていい感じになった。...

... 続きを読む

Operaプライベートブラウジングウィンドウ起動

Operaプライベートブラウジングウィンドウ起動

Operaバージョン: 11.50Operaでプライベートブラウジング起動オプションとして  -newprivatetabが存在する。が、これは新しいタブ1つがプライベートになるだけで、次に普通に新しいタブを作ったら通常(プライベートでない)タブになってしまうもよう。IE,Chrome,Firefox のプライベート(シークレット)モードのような、「最初にプライベートモードにしたら、後はずっとプライベート」という動作にしたい。Opera起動後、Ctrl+...

... 続きを読む

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。