2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

Tvtestをビルドするスレ Part6

1 :名無しさん@編集中:2014/11/05(水) 01:26:45.00 ID:nsBPvFum.net
Tvtestソース https://github.com/DBCTRADO/TVTest

・CCasProcessorのStub化
・「現在のサービスのみスクランブル解除する」設定機能の 削除
・BonDriver専用のwinscard.dllを読み込む機能の削除

0.8.0のCasProcessor.cpp・CasProcessor.hを上書きコピー
tvcas_attachmentのTVCAS.hを↑と同じフォルダにコピー
DtvEngine.cppにttp://pastebin.com/Jw5FJrLEの修正を適用

0.8.0のRecord.cpp・Record.h・RecordOptions.cpp・ RecordOptions.hを上書きコピー
0.8.0のTVTest.rcの1162〜1179行目を0.8.1のTVTest.rcの 1167〜1183行目に上書き
0.8.0のResource.hの723行目を0.8.1のResource.hの727行と 728行の間に挿入

0.8.0のCoreEngine.cppの370〜379行目を0.8.1の CoreEngine.cppの352行目と353行目の間に挿入
0.8.0のCoreEngine.cppの324〜338行目を0.8.1の CoreEngine.cppの321行目と322行目の間に挿入
0.8.0のCoreEngine.hの69行目を0.8.1のCoreEngine.hの68行 目と69行目の間に挿入
0.8.0のTVTest.cppの1071〜1072行目を0.8.1のTVTest.cpp の1082行目に上書き

●ビルド方法 参考HP
http://ug-jaro.jugem.jp/?eid=2149
http://dtv.air-nifty.com/sphd/2012/11/windows8-58cb.html
http://dtv.air-nifty.com/sphd/2013/09/tvtest081-f7ae.html
http://dtv.air-nifty.com/sphd/2013/09/tvh265_sphd-d59.html
http://dtv.air-nifty.com/sphd/2014/05/tvtesttvh264_sp.html
http://dtv.air-nifty.com/sphd/2014/06/tvtest-090-39aa.html ← New!

566 :名無しさん@編集中:2015/01/06(火) 09:45:35.14 ID:RiUXrcmw.net
>>565
そうじゃなくて、↓こうしろと言う話だと思いますよ
---
BYTE buf[sizeof(FILE_IO_PRIORITY_HINT_INFO) + 8];
FILE_IO_PRIORITY_HINT_INFO *pPriorityHint = reinterpret_cast<FILE_IO_PRIORITY_HINT_INFO *>((size_t)(buf+7) &amp; ~0x7);
---
sizeof(FILE_IO_PRIORITY_HINT_INFO)は4だから、普通にスタックに確保してると8バイト境界にのらない場合があります

> 無理矢理8バイトで渡すようにしたら通りました

これはやめた方が良いですよ
そうしたところで、受け取る側がそれを認識できる訳ではないので
>>563の件の場合は、リトルエンディアンなので一見正しく動いてるように見えるかもしれませんが…

567 :名無しさん@編集中:2015/01/06(火) 10:21:45.09 ID:Ca/lA2bk.net
このほうが簡単じゃない?
__declspec(align(8))
FILE_IO_PRIORITY_HINT_INFO PriorityHint;

568 :名無しさん@編集中:2015/01/06(火) 10:50:24.12 ID:RiUXrcmw.net
>>567
ですねw
どうせVC以外でコンパイルする事なんて無さそうですし、その方が良いかもしれません

569 :名無しさん@編集中:2015/01/06(火) 11:45:05.72 ID:YXieQyY0.net
っていうか>>566で__declspec(align(8))相当になるの?
全然意味合い違うんだけど・・・

http://stackoverflow.com/a/16362414
この回答がそのものずばりだね

570 :名無しさん@編集中:2015/01/06(火) 12:17:11.60 ID:Ca/lA2bk.net
全然意味合い違うってことはないかと。
declspec使わず書くとしたら>>566になるよ。
&がhtml_escapeになってるのはご愛嬌w

571 :名無しさん@編集中:2015/01/06(火) 12:44:11.85 ID:e8vmuE/q.net
>>569
領域確保済みのどこかのアドレスを、(8-1)byte足して8の倍数になるように切り捨てるとアラインされたアドレスになる
C++でアラインメントとるのは大変だな
Win32APIにenum引数なんて採用するMicrosoftが悪いんやで

572 :名無しさん@編集中:2015/01/06(火) 23:48:13.91 ID:9VL9X7Xc.net
古いRISC環境向けにCやC++で開発やった事のある人間なら、>>566のコードみたいなアライン処理に見覚えあるだろうけど、
そんな経験無い人間には何やってるのかわからんのかもね

今時の開発でもコンパイラ任せにできない場合はあるし、実際ARMなんかこの辺り意識しないととんでもないバグに
なったりするから、開発者なら知っといて損は無いよ

総レス数 1033
226 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200