1211257
Jun's Homepage
[トップに戻る] [留意事項] [ワード検索] [過去ログ] [管理用]
お名前
Eメール
タイトル
メッセージ
参照先
暗証キー (英数字で8文字以内)
投稿キー (投稿時 を入力してください)
文字色

RvtlWiki 投稿者:jun 投稿日:2005/07/01(Fri) 22:26 No.409  
rvtl で書いたWikiが一応完成。
http://www.nk.rim.or.jp/~jun/rvtlwiki/rvtlwiki.html
rvtlでも頑張れば何とかなるものです。

玄箱をお試しページ用に公開します。
http://rvtl.homeunix.org/rvtlwiki/


RvtlWiki-1.01 jun - 2005/07/09(Sat) 03:07 No.411   <Home>

RvtlWikiをバージョンアップしました。

YukiWikiから90ページ、700KBをRvtlWikiに移行して気付いたバグの修正と
追記機能の追加です。YukiWikiの整形ルールのほぼ上位互換のつもりなので
移行に際して「修正は不要」だったのですが、自分の使っている機能の内では、
画像の形式の修正とWikiNameが自動でリンクされない部分は手作業になります。お試しページ http://rvtl.homeunix.org/rvtlwiki/ も RvtlWiki-1.01
に更新しています。

ページが増えてきて「ジャンブジャンル分け」したくなったり、ページ名を変更する
機能が欲しいと思っていた所は解決したため、作った本人は満足しています。


RvtlWiki-1.02 jun - 2005/07/10(Sun) 16:52 No.412  

RvtlWikiをバージョンアップしました。

空行が段落として認識されないのを修正
行頭が空白の場合に段落にならない部分を修正

テストが不十分ですね。


rvtl-3.03 投稿者:jun 投稿日:2005/06/20(Mon) 01:08 No.403  
玄箱用のrvtlを公開しました。これで、i386、ARM、PowerPCと主要な
CPUの征服が完了です。MIPSやSHは好きになれないので無視です。

rvtlでCGIを書こうとすると、どうしても文字列操作が多くなります。
また、GETやPOSTではURLエンコードされた長い文字列をデコードする
必要があります。最近のPCでは rvtl でデコードルーチンを書いても
遅くはないのですが、玄箱ではサクサク動作するCGIには少し無理が
あります。
で、rvtl にURLデコードを組み込んでしまいました。

また、もともとrvtlはコンソールから使うことを前提にして、文字列操作は
256バイト以内としていましたが、rvtl-3.03では文字列の表示や文字列長の
取得は無制限、文字列のコピーは256KBまでと制限を大幅に緩和しました。
玄箱上でrvtlによるCGIを作っていて、速度的に問題になる部分をrvtlに機能
追加したものですが、PC(i386版)でも高速化となっています。

玄箱による自宅サーバで公開することを目標に、RvtlWikiを鋭意作成中です。


CGIの例 jun - 2005/06/21(Tue) 02:47 No.404  

CGIに渡される環境変数を表示するCGIです。

:--ここから-----------------------------------------
#!/usr/bin/rvtlw

100 "Content-type:text/html" / /
110 "<html><body>" /
120 I=0 [=0
130 @
140 A=\\I $*=A "<br>" /
150 I=I+1
160 @=(A(0)=0)
170 "</body></html>" /
180 #=-1

#=1
~
:--ここまで-----------------------------------------

chmod +x env.cgi とするとブラウザから環境変数を確認できます。


FireFox jun - 2005/06/24(Fri) 01:43 No.405   <Home>

Wikiを作っている過程でFireFoxでアクセスすると文字化けが多発してしまいました。
RVTLから1バイトづつゆっくり出力すると日本語が文字化けすることが分かりました。
IEではゆっくり出力しても大丈夫のようです。
結局、なるべく速く出力する(まとめて書き出す)ことで解決したようです。

WikiのテキストからHTMLへのレンダリングには秒単位の時間がかかるため、
ページ内容を変更した場合にHTMLに変換して、表示する場合には変換済みの
ページを出力すれば、平均して「軽く」動作することになります。
インタープリタとコンパイラの関係と同じですね。


rvtlでWiki? 投稿者:jun 投稿日:2005/06/13(Mon) 02:10 No.401  
rvtlでCGIを書こうとした場合の障害は、rvtlが対話モードで動作する点です。
CGIにエラーがあるとrvtlはエラー表示して次の入力を待ちます。
普通にコンソールからrvtlを使っている場合は問題になりませんが、
httpdから起動するとプロセスが終了しないため困ったことになります。
rvtlのプログラムが終了(#=-1)した場合や、エラーが起こった場合に
rvtl自身が終了すれば httpdから安心して呼び出すことができます。

で、rvtl-3.02 には「隠し機能?」として rvtlw という名で起動すると、
rvtlのプログラムが終了(#=-1)したりエラーでrvtl自身が終了します。
シンボリックリンクを次のように作成すると rvtlw で起動できます。

# cd /usr/bin
# ln -s rvtl rvtlw

CGIはperlで書けばいいのですが、メモリの少ない非力なマシン(玄箱)では
小さい rvtl は perl より有利ではないかと思っています。

ライブラリのない rvtl では、CGI作成は非常に手間がかかりますが。
そのうち rvtl による Wiki を公開するつもりです。


thttpdについて 投稿者:hanabusa 投稿日:2005/06/09(Thu) 22:58 No.394  
はじめまして。

ひょんなことから玄箱を手に入れたのですが、当方の環境がCATVでルーターが無く、IPはDHCPで自動割り当てであり、DebianやVineをインストールしても、IPがわからなくて(セットアッププログラムで調べようとしても、接続されていないという旨のエラーが出る)デフォルトのままのLinuxで使うことにしました(デフォルトならばセットアッププログラムでIPが確認できるので)。

DebianやVineのページは多く存在しますが、デフォルトで・・・というページはなかなか見あたらないので、玄箱インストールメモには大いにお世話になっております。

さて、httpd-2.0.53をインストールしようと思っているのですが、標準で動いているthttpdはどうされたのでしょうか?

そのままhttpd-2.0.53を入れるとhttpデーモンが二重に起動してしまうことになり、不具合など生じないのでしょうか?

thttpdを停止させると、固有の設定のページが使えなくなりますし・・・。

どうぞお知恵をお貸しください。

はなぶさ


Re: thttpdについて jun - 2005/06/10(Fri) 01:38 No.395  

hanabusa さん、はじめまして。

thttpd と apache と共存させるためには、thttpd の使用ポートを変更します。
/etc/thttpd.conf 中の port=80 を例えば port=8080 に変更して再起動します。
玄箱のIP:8080/ で設定ページがアクセスできるようになります。

#ルータは用意されたほうがよろしいかと思います。


Re: thttpdについて hanabusa - 2005/06/10(Fri) 16:24 No.396  

なるほど。
設定の方ページのポート番号を8080にすればいいですね。あまり使わないし。
どうもありがとうございます

やっぱり、ルーターあったほうがいいですかね?
IPアドレスは5つは自動割り当てされる契約ですので、
ルーターにはあまり魅力を感じないのですが・・・。

セキュリティを考えるとあったほうがいいかもれしれませんね。

安いのを買ってみます。



Re: thttpdについて jun - 2005/06/10(Fri) 19:48 No.397  

8080は例ですから、適当な予想されにくい番号とするほうがいいです。

いわゆるブロードバンドルータと呼ばれる製品にはファイアウォール機能
がついていて、デフォルトでは外部からのアクセスを受付ないように
なっています。Webサーバとして外部から接続する場合は玄箱のポート80
だけ公開することができます。DHCPクライアントとサーバの機能もありますし、
宅内を固定IPで運用することができ、CATV側のIPが変化しても内側は固定の
ままとなり、IPが分からないということもなくなります。


Re: thttpdについて hanabusa - 2005/06/11(Sat) 17:37 No.398  

アドバイスありがとうございます。
いろいろと挑戦してみます。

大学でredhatを使っているので、超初心者というわけではないのですが
ソフトのインストールなどは経験が少ないです。
またよろしくおねがいします。


ふと思ったのですが、単独でapt-getって入れられませんか?
いろいろと調べてみたのですが、apt-getはOSに標準で入っていて、
あとから追加する、みたいなページは見あたらないのですが・・。

やはり自動的に足りないソフトを調べたりするのでかなりカーネルに
近い部分と結びついていて、あとから追加はできないということなので
しょうか??


Re: thttpdについて jun - 2005/06/12(Sun) 00:26 No.399  

apt-getのソースをdebianのソースCDの中から探して見たらどうでしょう?
私自身はapt-getをほとんど使ったことがなく、インストールしたこともありません。
たいていのソフトは自分でコンパイル、インストールしていました。


Re: thttpdについて hanabusa - 2005/06/12(Sun) 00:29 No.400  

がんばってみます。

どうもありがとうございました。


 投稿者: 投稿日:YahooBB218123072061.bbtec.net No.す。
私自身はある程度の規模では既存のライブラリをCやC++から利用してプログラミングを行い、特に高速化したい部分があったり、CPUの特殊な命令を
使いたいときだけにアセンブラを使うべきと思います。
OSの仕組みの勉強やコンパイラを作りたいといった時にはアセンブラの
知識が必要になってきます。CPUの特徴を知ろうと思う場合には結構な
長さのプログラムをアセンブラで作成する必要はあるとは思います。

でも、趣味では何でもありです。
 


Re: アセンブラからライブラリ ファン... maeha - 2005/02/10(Thu) 16:17 No.348  

私の場合は殆ど趣味ですが、ずっとアセンブラにこだわっています。

マウスのプログラムをアセンブラで書きたいと思い、Gpm_Open をあのやり方で disassemble して見ましたら、
なんと 1512 行もあって、その中では 29 種もの function をコールしていました。
単に file descriptor を持ってくるだけと思っていましたが、これは大変、アセンブラだけでは無理かもしれません。

かと言って gcc のインラインアセンブリは AT&T syntax で、やる気がしません。
ELF file を他と link できないものか、などと思案している今日この頃であります。
maeha


Intel形式 intel user - 2005/03/13(Sun) 02:04 No.365  

gcc -S hoge.c -masm=intel
とすればIntel形式のアセンブリコードを出力してくれますよ。


Re: Intel形式 maeha - 2005/03/15(Tue) 11:11 No.369  

intel user 様

初めて jun さん以外の方からコメントをいただき、喜んでいます。有難うございます。

 gcc -S hello.c -masm=intel  とやってみましたところ、
 cc1: Invalied option 'asm=intel' とでました。 gcc にも色々あるのでしょう。

ちなみに、私のマシンでは、$dpkg -s gcc によりますと:
 GNU C compiler for Debian GNU/Linux system (version 2.95.4 for architecture i386)
とあります。

今後ともよろしくお願い致します。
maeha


Re: アセンブラからライブラリ ファン... maeha - 2005/05/26(Thu) 21:17 No.391  

こんにちは、

私の使用している assembler の fasm では ELF file の他に .o の
object file も出力できます。

それを gcc で ELF に compile しますと、assembler からライブラリ ファンクション
を call できます。
但し、argument を伴うファンクションの場合は call する前にそれらをスタックに
push しておく必要があります。これはかなり面倒で間違いのもとになります。

そこで、.c の source の中に、たとえば:

  void asm_printf( )
   {
   printf("Hello,World!\n");
   }

のように複雑なファンクションやプログラムをひとまとめにファンクション化しておきますと、
gcc により assembler は .c の source の中身を argument なしに call できます。
また、その逆もできます。

最近やっとわかりました。これこそ Linux 世界やな! と喜んでいます。

maeha




rvtl 投稿者:jun 投稿日:2005/05/24(Tue) 01:00 No.390  
りなざうテクノウ さん http://www.areanine.gr.jp/~nyano/ が ARM版rvtl
を紹介してくださいました。ARM版rvtlのカウンタが急に増えました。
やはりすごい威力です。

実はPowerPC版(玄箱用)のrvtlを作成する過程で ARM版、PC版ともにバグに
気付いて修正しています。結局 i386,ARM,PowerPCのアセンブラを同時に使う
という今日この頃です。


JDUでパスの最大長をチェック 投稿者:おおしま 投稿日:2005/04/26(Tue) 14:33 No.381  
JDU V.2.02を使用させて頂いております。
CDへ登録する時に今までは、ファイル名が長すぎると怒られて大変苦労していましたがこのJDUを使用させて頂いてからは非常にたすかっています。
(1)ISOの従ってファイル名の長さをチェック
(2)簡単に修正出来る
しかし、『もう一つあると良いな』と言うチェックがあります。
フォルダー分けし過ぎて階層が深くなると『データトラックに登録出来るパスの最大長は240byteです』と言って登録時に怒られることがあります。
これも事前にチェック出来るととても助かります。
是非、ご検討をお願いします。


jdu ver. 2.03 jun - 2005/04/27(Wed) 02:03 No.382  

jdu ver.2.03 として240バイトのチェックに対応しました。
下のページに置きました。

http://www.nk.rim.or.jp/~jun/jdu/index.html

フォルダ名の変更は右クリックでエクスプローラ(フォルダ)
を開いて名前を変更してください。
フォルダ名の変更は、どの階層の名前を変更するかの指定が
面倒なので直接変更してください。その場合の「パス長」の
更新は「更新」ボタンでお願いします。


Re: JDUでパスの最大長をチェック おおしま - 2005/05/05(Thu) 19:38 No.384  

早々に新バージョンを使用させていただきました。
事前に240byteチェックが出来て便利です。
有り難うございました。


玄箱でアセンブリプログラミング 投稿者:jun 投稿日:2005/04/17(Sun) 02:36 No.379   <Home>
そろそろ PowerPC にも慣れてきたので「玄箱でアセンブリ」シリーズを始めてみました。

http://www.nk.rim.or.jp/~jun/ppcasm/ppcasm01.html

アセンブラでプログラムを作れば、玄箱のメモリは多過ぎるくらいです(w


powernow-k8 投稿者:jun 投稿日:2005/04/13(Wed) 01:14 No.378  
カーネルを linux-2.6.11 に変更したら powernow-k8 が動作。

powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.00.09e)
powernow-k8: 0 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)
powernow-k8: 1 : fid 0xa (1800 MHz), vid 0x6 (1400 mV)
cpu_init done, current fid 0xa, vid 0x4
powernow-k8: ph2 null fid transition 0xa

2.6.10ではエラーが出ていたバグが直ってました。

# cd /sys/devices/system/cpu/cpu0/cpufreq/
# cat cpuinfo_cur_freq

で表示されるのは 1000000 ばかり。
無理に負荷をかけないと1800000になりません。


疑似命令 .align について 投稿者:たかちゃん♪ 投稿日:2005/03/03(Thu) 11:10 No.357  
はじめまして.最近アセンブラに興味が湧いたのではじめることにしました.junさんのページがとても参考になります.ありがとうございます.

そこで,ひとつ気になったのですが,

http://www.nk.rim.or.jp/~jun/slasm/arm07.html のサンプルコード

>#-------------------------------------
># data セクション
>#-------------------------------------
> (略)
>
>msg0: .asciz "hello, world\n"
>
> .align 2 @ 4バイト境界に設定

で 4バイト境界に設定とありますが,
.align 2 だと 2バイト境界なるのではないでしょうか?

info asに.align 8だと8の倍数の境界になるようなことが書いてあったのですが...

素人なもので誤解しているようでしたらすみません.


Re: 疑似命令 .align について jun - 2005/03/03(Thu) 12:57 No.358  

info as の Pseudo Ops * Align:: には次のように書かれています。

The way the required alignment is specified varies from system to
system. For the a29k, arc, hppa, i386 using ELF, i860, iq2000, m68k,
m88k, or32, s390, sparc, tic4x, tic80 and xtensa, the first expression
is the alignment request in bytes. For example `.align 8' advances the
location counter until it is a multiple of 8. If the location counter
is already a multiple of 8, no change is needed. For the tic54x, the
first expression is the alignment request in words.

For other systems, including the i386 using a.out format, and the
arm and strongarm, it is the number of low-order zero bits the location
counter must have after advancement. For example `.align 3' advances
the location counter until it a multiple of 8. If the location counter
is already a multiple of 8, no change is needed.

つまりCPUによって異なり、arm の場合は「.align n」は 2^n に整列されるようです。


Re: 疑似命令 .align について たかちゃん♪ - 2005/03/03(Thu) 13:18 No.359  

有難うございます.

i386ELF--> そのまま
ARM------> 2のべき

ということですね.

i386ELFで.align 3とかすると,2の倍数じゃないっておこられたので,ARMもそうかと思ってしまいました(infoも途中までしか読んでいませんでした)...御迷惑お掛けしました...今後気を付けます(x_x)



Re: 疑似命令 .align について jun - 2005/03/05(Sat) 01:45 No.360  

私もドキドキしながらinfoを調べました。
間違っていなかったので、ほっとしていました。
どうぞ、お気きになさらないように。


PowerPCの .align jun - 2005/03/19(Sat) 16:39 No.371  

info as には「その他のシステム」として明記されていませんが、
玄箱で試したところ、

PowerPC ---> 2のべき

でした。

| | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |

NO: PASS:

- KENT & MakiMaki -