2021年02月

1.コンパイルエラーの出る個所と、実際しくじっている場所が割と近い。
VC++、しばしばcore.hとかでアサーションが山ほど出るが、勿論core.h自体が悪い訳ではない。どこでしくじったかは、推理と直感、そして怪しい行をコメントアウトでコンパイルして探るのだ。時間かかる。
JavaはEclipse様がご指摘して下さる個所かその直近の参照先が違っている事が多め。
2.落ちる個所と、実際しくじっている場所が割と近い。
VC++、しばしばa=b;のような何の変哲もない所で落ちるが、勿論その行は問題無い。実は遥か彼方で行った、全く別の処理のmemcpyがまずいのだ。
Javaは、9割方、Exception起こした行で何かやらかしている。
3.Exceptionの利用が徹底している。
VC++にもtry~catchはある。あるが…Exceptionを返してくれるのは一部の意識高い人々が後年作った関数位。結局自分で戻り値を判定することになり、自分で投げて例外処理をまとめる位しか使いどころが無く。Javaで言うとOptionalみたいな感じ。機能はあるんだけれど一部の意識高い人々以外は使わないので今一つ有効に機能せず。
4.ログファイルがあてになる。
VC++、落ちる時はいきなりプロセスがOSに抹殺されるのでログをディスクにflushする間が無い。こまめにflushするとflushだらけになるし。でもまぁ標準出力はそこそこあてになる。
Javaは落ちると言ってもJVMが文句を言っているだけの事が多いし、前述のExceptionが徹底しているからFlushするチャンスも多い。
5.文字列の扱いが簡単
VC++、char*とかwchar_t*とかTCHARとかLPTSTRとかLPCTSTRとかstd:stringとかCStringとか文字列モノが多い。しかもAPIの引数の都合により割と頻繁に変換せざるを得ない。超面倒。しかも文字列とワイド文字列とマルチバイト文字列が別々にあり、あまつさえ最後のは環境依存。
Javaは兎に角全部UTF-16でStringだ。気にするのはI/Oの時だけだ。

ちなみにVC++の美点
1.__asmからのMMXの特に飽和加算命令が便利で速い(SSE以降は全く知らない。今はAVXと言うらしい)…が既に完全に忘れているので今は使える気がしない。
2.VC++製のWin32 DLLを呼び出すノウハウが豊富。
3.#ifdefはやっぱあると便利だわ。

今回はWin32のDLLを使いたいので使ったが、10年前に自分が作ったプログラムの改造なのに苦戦。Javaのぬるま湯ですっかり鈍っていたわ。
そういえばC#というのが、Javaのパチモンみたいな文法のぬるま湯でしかもWin32のDLLも割と簡単に呼び出せると聞く。が、今更移行も面倒だし。

Effective Java 第3版
柴田芳樹
丸善出版
2019-05-15

このエントリーをはてなブックマークに追加 mixiチェック

アルファ福笑いもごらんのとおり
http://nekora.main.jp/tmp/out0227.psd

まぁ今回はRoughAnimatorのデータを処理するためのものだからレイヤ名をファイルのあるディレクトリ名にするとか、日本語対応テストとか、PNGのサイズが不ぞろいの時の処理とかまだ色々必要だけれど、とりあえず大筋はできた。
画素が32bitだと行末のパディングが無いからいいよね。
それにしてもC++には苦戦させられた。他人のならまだしも10年前とは言え自分が書いたプログラムの改造なのに。やはり文法は似ていてもJavaとは似て非なるものよ…。


このエントリーをはてなブックマークに追加 mixiチェック

あれ?たしか無料という話では…と思ったらMicrosoftその人がロック解除方法を書いてた。
https://visualstudio.microsoft.com/ja/vs/support/community-edition-expired-buy-license/

何かサインインというものが必要なようだ。そういえば私はまだMicrosoftのアカウント持ってないわ。よくWindows 10でMSアカウントに切り替えろ切り替えろ勧められてるけどシカトしてローカルアカウント最強伝説を貫いておる。
が、まぁこの際作るか…。

Visual Studioパーフェクトガイド
ナルボ
技術評論社
2019-06-21

このエントリーをはてなブックマークに追加 mixiチェック

頼りにしていたImageMagickがあてにならず、無駄に苦難を乗り越えVC++でPNGを重ねてPSDを吐く実装を着々と進めているが、 https://psd-tools.readthedocs.io/en/latest/ というPython向けのライブラリがあるそうな。ぐぬぬ。何か簡単そう…というか既にできているJava部分も、C++にまとめるのはまっぴら御免だがPythonにまとめるのは許容範囲だ。

使用例はこれか。
https://hawk-tech-blog.com/python-install-psd-tools/


このエントリーをはてなブックマークに追加 mixiチェック

マイクロソフト謹製のサンプルから抜粋・改造でできた。
https://docs.microsoft.com/ja-jp/cpp/text/how-to-convert-between-various-string-types?view=msvc-160

#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;

wstring  charTowstring(const char* orig)
{
    // 確保するワイド文字用バッファのサイズは、バイト数ではなく文字数を指定する。
    size_t newsize = strlen(orig) + 1;
    wchar_t* wc = new wchar_t[newsize];

    // 変換.
    size_t convertedChars = 0;
    mbstowcs_s(&convertedChars, wc, newsize, orig, _TRUNCATE);

    wstring ret(wc);
    return ret;
}

C++面倒…。というか上記のもretのスコープに自信なし。
wstring.valueOf(char[] data)とかあって然るべきではないかね。というか寧ろcharを引数に取るコンストラクタがあるべきでは。

[改訂第3版]C++ポケットリファレンス
湯朝 剛介
技術評論社
2018-02-15

このエントリーをはてなブックマークに追加 mixiチェック

PSDのフォーマットはhttps://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
ImageMagickのタコ助の吐くPSDと違い、ちゃんとPaintGraphic2やMedibangPaintで読み込める由緒正しいPSDである(全データゼロの透明だけど)。

http://nekora.main.jp/tmp/out0223.psd

ちょっと本気をだしてコンビニまで行ってソースを印刷したら忽ち直ったが、やはりコードレビューは紙に限るな。見る前から印刷する動作だけで2,3思いついたりするし。

因みにその後char* から wstringへの変換に苦戦。先は割と長いかも。C++は何でこんなに文字の扱いが辛いのか。wstring.fromChar(char*)とかあってもよさそうやんけ。というかTCHARとかLPCTSTRとか_Tとか多過ぎて訳が分からんわ。

https://docs.microsoft.com/ja-jp/cpp/text/how-to-convert-between-various-string-types?view=msvc-160
というのを見つけた。あとで読む。



Paintgraphic 4 Pro(最新)|Win対応
ソースネクスト
2018-07-13


このエントリーをはてなブックマークに追加 mixiチェック

Twitterでヒロインの変顔の宣伝が一時良く流れていたやつ。
アマゾンでKindle版が安売りしていたので読むと、何か釣った魚の調理の手順が細かく描かれている漫画だった。
ギャルの娘、お尻を蚊に刺されまくりそうだな。


このエントリーをはてなブックマークに追加 mixiチェック

最近、大昔のPoser 5を引っ張り出して使っている訳だが何せ大昔のソフトなので映像出力はAVIのシネパック、連番画像、Macromedia Flashの3択。シネパックとか再生できんので些か不便。
只今、日本では売らなくなってしまってAmazonも貼れない最新バージョンの「12」が6割引き投げ売り大安売り中と言う事で買ってみた。昨年コロナの時に株を買って我が家の資産運用史上空前絶後の大儲けをしたので割引Poserの10本や100本はなんでもないぜ。
Poser 5に比べるとUIに気取りがなくなったが基本的に同じっぽい。デフォルトが、5はジーパンにTシャツの男だったのが、12では全裸の女になっているくらいか。
ただ、何か人形減ってないか?まぁお姉さんしか使わんからいいけど。5に添付されているデータを12に持ってこれないものかしら。
映像フォーマットは流石に今風になっているのでまぁいいか。
最近はPoserっぽい人形ソフトが一杯あるけれど、Poserは動作データのテンプレがいっぱいあってそこがいい、そこが目当てと言っても良い。
だがしかし、この12、操作中にPC全体を巻き込んで固まるという致命的欠陥がある。レンダリングモードを切り替えるときが危ないね。

Poser 11
イーフロンティア
2016-04-28

このエントリーをはてなブックマークに追加 mixiチェック

先日の猫でもわかるWindowsプログラミング 第4版と一緒に借りてきた本。C++は完全に忘れてるので。
こういう時、気取ってオライリーとかに手を出さないのが出来る男の嗜みだ。なるべく簡単そうなやつがいいのだ。猫でもわかるとは頼もしい限り。
だが、結局昔の自作プログラムを解析していたら段々C++のノリを思い出してきたので結局殆ど読まないまま返却期限が来て返却。
まぁ…大丈夫だろう。別にC++を常用しようという訳でもないし。駄目なら改めて借りれば良いし。


このエントリーをはてなブックマークに追加 mixiチェック

首が痛い。
寝違えると首が痛いのもあるが、首をかばっているためか段々と酷い肩凝りに発展して毎回概ね半月からひと月は苦しむのである。
だがしかし。
ここで、嫁から借りた超高価な肩凝り対策秘密兵器コリコランが登場する。
これを酷い肩凝りになる予感のする凝りかけている部位にくっつけておくと、ヤバい級肩凝りへの発展が避けられ、しかも心なしか寝違えた首もちょっと回復してくるのだ。
付けても全然ビリビリもブルブルもしない有難みの無い器具だが何故か効く不思議な奴よ。



このエントリーをはてなブックマークに追加 mixiチェック

↑このページのトップヘ