HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
1226
Ruby(旧さっくん)HSPDishでC言語に変換してそれからND...9未解決


Ruby(旧さっくん)

リンク

2014/12/26(Fri) 09:09:02|NO.66635

前回、HSPDishを通してAndroid SDKなどでビルドしていましたが
HSPDishで一度C言語に変換して、Android NDKでそのC言語にしたソースコードから
ビルドしてパッケージを生成することは可能ですか?



この記事に返信する


skyblue

リンク

2014/12/26(Fri) 10:14:00|NO.66636

できなくは無いと思いますが、難しいと思います。
なんかあってもサポートはありませんしHSPが原因と分からない限りは



nepisat

リンク

2014/12/26(Fri) 12:06:04|NO.66640

Win32の機能を使ってそうだから無理な気がする。



skyblue

リンク

2014/12/26(Fri) 17:39:57|NO.66646

>Win32の機能を使ってそうだから無理な気がする。
使っていても置き換えができるレベルだと思います。
じゃないとコンバートができないし。
結局は標準Cで規定されている関数などもシステムコールへのラッパーになっているので



nepisat

リンク

2014/12/26(Fri) 21:03:55|NO.66652

もう少し訂正
HSPDishで使えない命令は使えない気がする
つまりAndroidが使えない機能は使えないような気がする

Dishソースなら普通にできるかと



Ruby(旧さっくん)

リンク

2014/12/27(Sat) 09:39:26|NO.66663

返信遅れました。

>HSPDishで使えない命令は使えない気がする
>つまりAndroidが使えない機能は使えないような気がする
ビルド時にWin32APIの機能をAndroid APIで代替しそうな気がしますが・・・。
無理だったらWebページで動かす方法を検討してみます。



Ruby(旧さっくん)

リンク

2014/12/27(Sat) 09:46:55|NO.66664

さっきの投稿の追記です

たとえば、Win32APIで使用するオーディオ関連のAPIだったらAndroidのアクティビティで表すと
.MediaPlaybackActivityと.AudioPreviewなどで置き換えて
ActiveXのコンポーネントブラウザだと.HTMLViewerActivityで置き換えたり
するのではないでしょうか?



skyblue

リンク

2014/12/27(Sat) 10:24:05|NO.66666

Dishでの使用可否にかかわらずほぼすべての命令や関数は使用できます。
どちらにしろCやAndroid、OSに関する知識などが無かったら無理ですが。
それとWin32は実はほとんど関係ありません。
なぜならDish helperが行っていることを手動でやるだけですから
補足ですがOS依存のプログラムでもほかの言語やOSに移植することができます。
理由としてはOS依存や言語依存のプログラムで依存している部分を
等価な処理に代えることで移植をしているのです。
じゃないと、クロスプラットフォームなプログラムとか作れないですから。
世間一般のプログラム(gccなど)はどうやって他の環境で実行しているのだと思うのですか?



nepisat

リンク

2014/12/27(Sat) 16:56:54|NO.66674

まず、出力されるcppが
WinAPI Winmain .... という風なもので NDKでビルドしてもエラーかなかと思ったら違いました

skyblueさんがおっしゃっているように C変換NDKコンパイル はDishが自動で行っていることを 手動でやっいるということです多分
Dishで動かすこと前提で作ったソースなら 動くと思いますが
Androidには完全にないオブジェクト、機能等は変換できたとしても バグるか表示されないかそもそもコンパイルできないか
な気がします。
ためしにRubyさんのOSもどきをDishでAndroid用にしてみても 動作しませんでした。



Ruby(旧さっくん)

リンク

2014/12/29(Mon) 18:32:52|NO.66706

>>ためしにRubyさんのOSもどきをDishでAndroid用にしてみても 動作しませんでした。
そうですか!?ああ、DishでAndroid用に完璧にビルドするには、Includeでhsp3dishをincすれば
いいんですね、分かりました。Android版も作るのも検討してみます。



ONION software Copyright 1997-2023(c) All rights reserved.