実行中かどうか知りたい!
ps aux | grep [検索したいやつ]
- ps : 実行中のプロセスを表示する
- a : 自分以外のユーザーのプロセスも表示する
- u : ユーザー名と開始時刻を表示する
- x : 制御端末のないプロセスの情報も表示する
- | : 左側の結果に対して、右側を実行する
- grep [引数] : 引数の文字列を検索する
psのオプションは他にもいろいろ
Linuxコマンド集 - 【 ps 】 実行中のプロセスを表示する:ITpro
AIRのlogみる
- /Library/Application Support/Macromedia/mm.cfgにmm.cfgをつくる
- mm.cfgに ErrorReportingEnable=1 TraceOutputFileEnable=1 書く
Debugging Flex applications with mm.cfg and flashlog.txt | Flex Examples
そしたら 立ち上げたら
/Users/username/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt
flashlog.textができてここにログがではずなんだけどなーーーー
でない。
原因...
DebugPlayerじゃないから。
でもどーやってAIRをDebugPlayerでたちあげるのだ???
インストールされてるappの中に debug ってのつくってあげると
でたーーーーーーーーーーーーーーーーーーー!!!!
touch /Applications/hoge.app/Contents/Resources/META-INF/AIR/debug
(air起動しなおしてね)
AIR から.shを実行
やーー asもまだまだやった事ないものあるなーー
今回色々はまったので めもめも。
function init() { var file:File = File.applicationDirectory.resolvePath("hoge.sh"); var processArgs:Vector.<String> = new Vector.<String>; processArgs.push('chmod -x "'+file2.nativePath+'"'); var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo(); nativeProcessStartupInfo.arguments = processArgs; nativeProcessStartupInfo.executable = file2; nativeProcessStartupInfo.workingDirectory = File.userDirectory; _process = new NativeProcess(); _process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA,onError); _process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, outputHandler); _process.addEventListener(ProgressEvent.STANDARD_INPUT_PROGRESS, progressHandler); _process.start(nativeProcessStartupInfo); }
それぞれのハンドラー書いてあげる
そしてエラー
Error: Error #3219: The NativeProcess could not be started. 'Not supported in current profile.'
これは app.xml に
<supportedProfiles>extendedDesktop desktop</supportedProfiles>
追加しろと
で、この.shを一緒にパッケージ化したいのにされなかった。。
(´;ω;`)ブワ
原因はプロパティのこやつ!!
非埋め込みファイルを出力フォルダーにコピー
したら、でたーーーーーーーーーー!!!
でflash builderからだと実行されるのに、AIRにコンパイルしたら実行されないとううううううううぅぅぅううぅ
logの出し方もわからず、
やってもらったのでそれもブログにまとめましたがー
AIRのlogみる - memomemo
で結局
Error: Error #3219: The NativeProcess could not be started. 'Not supported in current profile.'
って前と同じエラーがでてましてーー
なんでだー とぐぐりましたら
書き出しが
証明済みAIRパッケージ ではなく×
証明済みネイティブインストラー にすればいいと○
こやつです↓
ε=( ̄。 ̄;)フゥ
イテレータ
C++数値の3桁区切り - memomemo
のなかのイテレータ部分ですー
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
std::vector
リバースイテレータなるもの。
まず イテレーターって? こちらから引用
- 配列やリストのようにデータがいくつか連なっているもの(格納庫)に対して、どの格納庫に対してもすべて同じ方法で、順番にアクセスする方法
- イテレータはポインタのように扱えるように設計されてる
"reverse_iterator" はreverseだからi++で逆順にアクセスできる。
iteratorの種類↓
input_iterator | 前方に移動しながら値を読むことができるイテレータ。インクリメント(ポインタを前方に進める)、比較、参照はずしができる |
output_iterator | 前方に移動しながら値を書き込むことができるイテレータ。インクリメントと参照はずしができる |
forward_iterator | 前方に移動しながら値の読み書きができる。これはinput_iteratorとoutput_iteratorを合体させ、値書き込み機能を追加したものである |
bidirectional_iterator | 前方、後方への移動、値の読み書きができるイテレータ。これはforward_iteratorに似ているが、さらにデクリメント(ポインタを後方に進める)ようにしたものである |
random_iterator | 値の読み書きとランダムアクセスが可能なポインタ。一番強力なポインタである。これはbidirectional_iteratorにポインタ演算機能とポインタ比較機能を追加したものである |
reverse_iterator | random_iteratorやbidirectional_iteratorのような、後方に進むことができるイテレータである |
配列.rbegin()
配列.rend()
配列のイテレーターを取得するやつ
- 逆順の先頭を取得する→ rbegin
- 逆順の末尾(逆順で見たときの最後の要素の次)を取得する→ rend
- 先頭の取得する→ begin
- 最後の要素を取得する→ end
ふむふむ
C++数値の3桁区切り
三桁で区切って 1,000,000 って表示したい!
ってことでググりました。
こちら↓の方のものを使わせてもらったんですが
とあるソフトウェアエンジニアのブログ
std::string formatNumber(int num) { std::vector<int> sepnum; int number = abs(num); int sgn = num >= 0 ? 1 : -1; while ( number / 1000 ) { sepnum.push_back(number % 1000); number /= 1000; } std::stringstream ss; ss << number * sgn; for ( std::vector<int>::reverse_iterator i = sepnum.rbegin(); i < sepnum.rend(); i++ ) { ss << "," << std::setfill('0') << std::setw(3) << *i; } return std::string(ss.str()); }
知らないものが沢山Σ(゚Д゚ ;)
ってことで調べました。
std::stringstream
そのまま文字列ストリームなんだが、
"<<" で色々な型を文字列化してくれる。
中はこんな感じでいろんな方を受け取れるようになってる
ostream& operator<< (bool& val ); ... ostream& operator<< (ostream& out, char c );
イテレーターは長いので別記事でー
std::setfill('0') << std::setw(3)
std::stringstreamに << して何かごちゃごちゃしてるんだか。そもそもこれらは↓
- 入出力マニピュテータという特殊な関数
- マニピュレータとは、iostream に挿入したり、iostream から抽出したりする値で特別な効果を持つもの
で結構種類がある。
std::cout << "aaa" << std::endl;
の endlもそーなのねー
他の種類はこちら
std::setfill('0')
は引数で指定した文字列で埋める
std::setw(3)
は3つの幅とれよー
ってことで
000 が確保されるんだと。
そこに << 2 とかやると
002になる!
理解!!
asで配置されてるDisplayObjectのシンボルidとる方法
loadしたバイナリーからしか見れないという。。。
まだやってないけど、やるかもだからメモ。
claus/as3swf · GitHub
↑これでloaderInfoのbytesをパースして、
as3swf/TagPlaceObject.as at master · claus/as3swf · GitHub
↑ここの中からいろんな情報がとれるとな!
characterIdがそれっぽい
色々試してみたもの
- getQualifiedClassName(A) → MovieClip
- Object(A).constructor → MovieClip
- describetype(A) → MovieClip
全部 MovieClip としかかえってこなかった.. orz