Solarisプログラミング教えてチョンマゲ
一ヶ月前、父親に「パソコン買って」とねだったら[Ultra10]と書かれたマシンをくれました。 わくわくして起動してみるとなんか友達の持ってるヤツと全然違う・・・ っていうかキーボードとマウスもよく見るとなんかおかしい。 親にネットにつないでもらって調べてみるとUltra10というのは サン・マイクロシステムズというメーカーが出しているワークステーションで Solarisというシステム(UNIX?)が動いているようです。 父親にこのワークステーションで何ができるのか聞いてみると、 「ホ→ムペ→ジもメールも見られるぞ」「派手なゲームはできない」 「どうせ暇なんだからプログラムでも勉強してみろ」 とつれない答えが・・・ まあ冬休みで暇だからプログラミングを勉強でもしてみるか、と ネットで勉強しながらifとかwhileとか構造体とかポインタとか覚えました。 しかしこれを使って具体的に何ができるのか・・・? ネットで見られる情報には↑とかの基本的な使い方しか書かれて無い模様。 ここからステップアップしたいのですがどうすればいいんでしょうか? 友達にも知ってる人はいないし、 本屋で立ち読みしてもネットで得られるものと同じような基本的な部分にしか触れていません。 2ch閉鎖騒動の動画をみてUNIX板の存在を知り ここならすごいプログラマーの人がいると思い質問させていただきました。 お願いします。
本屋を本当に探したのかと小一時間問い詰めたい つーかネタだよね? ネタスレすぎるな… 煽り所をちゃんとつくれよボケ>>1 >>2 そっちの方はレベルが高そうだったんで・・・ ごめんなさい。>>3-8 ネタじゃないんです・・・ >>10 はい、そういうことをやってみたいのですが、 今の知識(printf,scanf,if,for,etc...)ではどうやってアプローチしていいのかわからないんです。 フリーソフトのソース読んで勉強すれ。 w3m(テキストブラウザ)なんかどうだい? ファイル探すなら http://www.iij.ad.jp/archie.html w3mのプロジェクトページは http://w3m.sourceforge.net/ >>9 本当にネタじゃないんだとして、 Ultra10を与えてくれるような父親なら、 その父親も100%近い確率でこの板を読んでると思われるので、 君がこういう書き込みしていることが筒抜けだよ。 あ、それから、Cのプログラムなら、例えば、 /bin/echo とか、/bin/cat の簡易バージョンを自分で書いてみるとか… >>9 とりあえず、作ってみたいと思うものの傾向ってなによ? >その父親も100%近い確率でこの板を読んでると思われるので そんなこと無いだろう・・・ みなさんありがとうございます。>>12-13 プログラムをダウンロードして見てみましたが全然わかりません・・・>>14 たぶん親が見てることは無いと思いますが、見られてたら最悪です。 echoとかcatのプログラムはどこにあるのでしょうか・・・? 馬鹿ですいません。>>15 簡単なゲームなんか作ってみたいです。 テトリスとかインベーダーゲームみたいなヤツです。>>16 だといいんですけど・・・ >>17 うーん確かにいきなりw3mはつらいか... じゃあhttp://www.jp.freebsd.org/cgi/cvsweb.cgi/src/bin/ でechoとかcatとかのソース見たり、downloadしてコンパイルしてみたら?http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/games/ にはテキストベースのゲーム(rogueとか)もあるよ。 FreeBSDのソースだからSolarisでコンパイルするとあちこちエラーが出る かもしれないけど、それを修正して自分のマシンで動くようにするだけでも 結構勉強になるもんだ。 # *BSD使ってたら/usr/src以下で全てのソースが見れるんだがなぁ。 # Solarisのソースを見る方法もあるけど、オヤジさんは入手してないよう # な気がするな...(入手してたら入れてそうだし) まとめてgetするならftpもある。 ftp://ftp.jp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/ 開発ブランチだけど、まぁkernelとかでなければさほど問題あるまい。 ええ父親だ・・・winマシンなんか渡した日にはエロゲしかしないだろうしな。 Windowsマシンあってもエロゲしないだろ、普通。 >一ヶ月前、父親に「パソコン買って」とねだったら[Ultra10]と書かれたマシンをくれました。 面白い親父だな(w 「M$製のソフトなんて...」とか「LinuxはUNIXでは云々」なんて 日常的に会話してない?この親父さんのレポートをキボン ひょっとするとこの板の連中なんかが裸足でぶっとぶスーパーハカーの可能性も なきにしもあらずだけど(w catのソースはここです。 ttp://www.freebsd.org/cgi/cvsweb.cgi/src/bin/cat/ ttp://cvsweb.netbsd.org/bsdweb.cgi/basesrc/bin/cat/ ttp://www.openbsd.org/cgi-bin/cvsweb/src/bin/cat/ みなさんありがとうございます。>>18-19 ゲームのプログラムありがとうございます! 小さめなヤツから眺めてみることにします。>>20-21 エロゲームもやってみたいのですが、 この機種じゃ無理みたいですね・・・。 別の事で楽しむことにします。>>22 家族の前ではあんまりコンピューターの話はしません。 たまにチャットで外国人の人達と話してるみたいですが・・・>>25 cat.cとMakefileというのはわかるのですが、cat.1って言うのは何なんでしょうか? 中身を見ても全然わかりません。すいません・・・。 >>26 cat.1はmanコマンドで見るマニュアルのcatに関する部分です。 プログラムには直接関係ないのでひとまず無視しておくということで Ultra でもエロゲはできるぞ。http://www.aist-nara.ac.jp/ ~masaki-c/private/unitbase/xsys35/ プログラムの技術はあんまり関係ないが、Unixの世界のことがわからないと遊べない。 遊びたいならUnixを学べ! >>1 いきなり、U10持ってくるって、だいたい、U10は、PCじゃねえだろ。 はっきりいって、PCの100倍くらいの高品質のパーツ使ってるからなぁ。 5年間、電源入れっぱなし&OS立ち上げっぱなしでも、性能劣化が無いマ シンだからねぇ。 [# uname -a]でSolaris のVer. 確認してみて、もし、SunOS 2.6 or 2.8 が入っているなら、sendmail(メール送信サーバソフト) とか、apache(Web配信 サーバソフト)とか立ち上げてみて、メールの仕組みとか、Webの仕組みとか勉強 してみれば。かなり面白い世界が見えてくると思うよ。 ちなみに、Solaris関連のHPは、↓http://www.sunfreeware.com/ http://solaris.bluecoara.net/ http://www.wakhok.ac.jp/ ~maruyama/Super/Super.htmlhttp://solaris.sunfish.suginami.tokyo.jp/ Solarisって、OSは、インターネットプロバイダーとか、E-Mailのサーバー とかで動いてるOSで、今のところ、世界一(ここのスレだと反論もいっぱいあ るだろうけど)のOSだと思う。 ネットワーク関係(他のマシンとファイルを共有したり、メールとか、Webとか) を勉強するにはもってこいだと思うよ。 ある意味、超いい親父だよ。M$のWindow$ なんて糞OSだからね。あんなもん触っ てたら、ユーザーにしかなれないよ。 とりあえず、http://docs.sun.com (Sun Microsystems の公式マニュアル公開 ページ:本当の初心者用から、商売で使う人まで幅広いマニュアルを公開)から システム管理者ガイドとかダウンロードしていろいろいじってみれば。 「ここからソースとれるぞ」って、行った先が大抵(というか、ほとんど) FreeBSD などの BSD 系のところだね。 Linux はどうしたのかと、問いたい。 >>30 LinuxのcatとかechoってGNU-ほげほげの中にまとめて入ってるけど、 どれに入ってるかなんていちいち覚えてないし、ツールはあそこ、 glibcはこっちみたいに情報源もあちこち分散してるので、URL書く のも手間かかるんだよね。 各distributionのソースパッケージならとりあえず一カ所に固まっ てるだろうけど、.rpmとか.debをSolarisな人(しかも初心者)に言っ ても躓くの目に見えてるし。 ここでこういう事書くのもスレ違いだけど、Linux系のソース パッケージってローカルパッチ当てた状態で配布されてるのが 嫌だね。 FreeBSDのportsみたいに、オリジナルのtarballはそのままで パッチを別ファイルに分けておいてくれれば、別のOS使ってる 時(例えば>>1 がSolarisでコンパイルしようとした時とか)でも パッチだけ拝借して来れるんだけど。 まぁ自分でdiff取ればいいって話もあるけど、このパッチは 当てる、このパッチは当てないといった収拾選択できないから やっぱいまいち。 # もしパッチが別になってる形式があるなら俺の認識不足って # だけなんで無視してくれ >>33 Linuxの*.src.rpmなら、中にはオリジナルの*.tar.gz(or *.tar.bz2)と、 バグフィックスやmakeを通すためのpatchと、 ディストリビューション固有のローカルpatchとが、 分離されて入っていますが、何か? 俺、実際、Linuxの*.src.rpmをrpm2cpioで分解して、 Solarisで利用してるよ。 FreeBSDのcat.cをSolarisでmake通すのは結構大変。BSD makeの壁もあるし… それより、GNU textutils のソースならSolarisでもFreeBSDでも、 ./configure; make 一発だよ。 喧嘩すんな。>>1 には宗教戦争なんて関係ないだろ。 みなさん本当にありがとうございます。 >>27 ありがとうございます。 現在cat.cのプログラム読んでコンパイルに挑戦しているのですが結構むずいです。 がんばります。 >>28 おお、こんなものもあるんですね。 プログラミングだけじゃなくてSolaris自身も使いこなせるようにがんばってみます。 >>29 関連ページの紹介ありがとうございます。 そこを参考に何個かソフトを入れてみました! なんつーかアレだ、ほのぼのとしていていいスレだ。 皆もマターリやろう。 Solarisってソース公開されてなかった? 有料だっけ? >>39 中途半端にSol8FCS版の一部のみ公開されている。 その後のアップデートは一切なし。 ダウンロードは事前の書面手続きが面倒。 CD-ROMでの注文は簡単だが、ちょっと高価。 ネタかと思ったけど、そういうおやじいるよね。 私(今26)もうまれてはじめて触ったのは親父が会社から仕事で 持ってきたHPのマシンだよ。小学生のとき。(当時の最高級車なみの 値段するものらしかった) カートリッジでUFOゲームとかしたよ。 (UFO静止画だしモノクロだし。。でもめちゃおもろかった。) さいしょはインストール猿でOKと思う。でもpkgはだめよん。 自分でmakeしてね。 昔はconfigure,make一発でうまくいかないの だらけだったから、自分でちょこっとわけわかでもMakefileや ソースに手いれたりして コンパイルしてみて→やったー、でついでになにげにmakeとかgcc,ccの オプションとかがだんだん覚えられる っていうのがあったんだけど、 いまどきは、一発でとおっちゃうのばかりだから勉強っていみでは よろしくないね。 現在、FreeBSDのホームページからもらってきたcatを解読中です。 今週は宿題が多くてあんまり進みませんでした。週末にがんばります。 インクルードされてるプログラムも読まないといけないから結構たいへんです。 探すのに苦労しましたが・・・ Solaris自身も使いこなせるように勉強中です。 はじめから入ってたネットスケイプコミュニケーター4.7が使いにくい(ブックマークの編集してるとおかしくなる?)ので、 サンのページからネットスケープ6とHotJavaというのを見つけたので入れてみました。 すごい遅いです・・・ とりあえず今週末がんばります。 >>43 なんかほのぼのしてて良いな がんばれ1年生! FreeBSDのcatは Revision 1.17 からUNIXドメインソケットを読めるようになり、 その分ソースコードも複雑化してるから、練習用には Revision 1.16 をお勧めする。 漏れもこのスレの>>1 さんに感化されて VAIOノート上でなんかやってみようとしたんだけど! Cygwinってlessもviもed(!!)もないんですね。 正直フェチ心がうずきます。 みなんさんの貴重な時間を割いていただいて本当にありがとうございます。 学校の修学旅行(1年目なのに・・・)なんかあってごたごたしてました。 FreeBSDのcat.hや、それにインクルードされてる.hファイルも一通り読み終わりました。 理解できたような、理解できてないような・・・テストでは一番危険な状態です。 読んでるだけだと上達しないと思うので、引数で数値を受け取ってそれを計算するプログラムや ファイルに書かれてる事を読みとって、何か計算したり、加工したりする小さなプログラムに挑戦してます。 プログラミングだけじゃなくてSolarisの勉強も少しずつですがやっています。 そのときに、Solaris教えてスレッドの参考ページがすごい役に立ちました。 過去の書き込みも(理解できないことは多いけど)参考になるところも多かったです。 過去の話題をみて、xemacsをインストールとtcshの日本語化に成功しました。 みなさんから見れば大したことない事にも悪戦苦闘してる馬鹿者ですが、 何か困ったときにアドバイスなんかいただければありがたいです。 >46 あるよ。(日本語使えないけど) ttp://www.io.com/~kazushi/less/ にあるパッチ当てれば日本語使えるlessはできる。 あと, ttp://hp.vector.co.jp/authors/VA003457/vim/vim3/vim.html にあるパッチでvi(m)は日本語になるよ。 edはないよ。 っていうか,このスレマターリしてていいね。 こんなスレでもちゃんとしたスレになるのがUNIX板の良いとこだよね プププ、何このスレ? 馬鹿が化石ソラリスにはまってるのか? 可哀想だね〜、Sunって。こんな厨房しか寄りつかないんだね(プププ あー俺はLinux使ってて良かった。 いいね。ほのぼの。こういうスレって大好きだね。 >>1 、がんばって良スレにしてください。 本スレにおいて他OSとの比較を行うことはスレの趣旨に反しますので OSの優劣に関する話題は下記へお願いします 「SolarisとLINUXどっち???」 http://pc.2ch.net/test/read.cgi/unix/999172129/l50 >>48 おいおい。edもvim6もパッケージにあるぞ。(GNU edは最近入った) パッケージのvim6はsjisならそのまま扱える。 そのURLの奴はjvimだから、パッケージのvim6には当たらんぞ。 # スレ違いなのでsage。質問その他はCygwinスレで みなでがんばって1が Linux のPOSIXスレッドなんかクソで使ってらんねーよ やっぱ libthreads 最強! CSI I18nマンセー! 程度の事叫びだすまで教育しよう。 >>53 オレもSolaris派だが そのカキコがLinux派を刺激してマターリすべきスレが荒れる 原因になる できれば刺激的なカキコはしかるべきスレの方でやってほしいのだが...... >>52 >おいおい。edもvim6もパッケージにあるぞ。(GNU edは最近入った) ガーン。 vim6は入れて結構使っているんだけど, edって使ってないから分からなかった。 情報サンクス >そのURLの奴はjvimだから、パッケージのvim6には当たらんぞ。 それは分かっております。 大丈夫です。 jvimのほうが簡単かなと思ったまでです。 って言うかedって何?(←前振り) #この前振り寒いかも… レスして下さった方、有難うございます。 つうかrpmとかいうk(自粛)で管理するのは なんか虫唾が走るんで、ソースから全部入れてみます。 とりあえずこのスレを参考にしながら進んでいくつもりです。 >>1 さんがんばってくだちい。 >>54 あ、スマソ。そこまで考えてなかった。 いや、デザインチョイスだからね。あくまで Linux pthreads も I18n もアリだと思うヨ! とかいまさら言っても遅いか。 >>55 ed は DOS の edlin のような line editor です。 >>59 ありがとう。なんとなくは分かってたんだけど。 Erectile Dysfunction っていうの期待してたんだよね。(やっぱ寒いな) ごめんね。ごめんね。 >>52 exっつーのはあったんだけど, edって見当たらないんだけど 何処にあるんだい? #すれ違いのレスばかりでスマソ >>60 ex は vi と hard link されているもの。vi の : な prompt が出てくる。 Solaris8 だと /usr/bin/ex or /usr/ucb/ex ed はもっと primitive な editor で、普通 /usr/bin/ed に存在するはず。 Linux とかだと ed がない distribution もあると思うけど、ここは Solaris スレだから、/usr/bin/ed はあると思うんだけど…。 ここは>>1 の成長を暖かく見守るスレだから、 質問はSolarisスレでやるべし。 高校 1 年で Solaris 使う時代なんだな...。 正直、うらやましい。 >>61 /usr が mountできない時のために /bin/edじゃねーか? /sbin かもしれんが。 Solaris教えてスレッドでやれよ・・・ 質問が分散すると、後で探しにくいだろ。 >>64 おいおい、solarisでは/usr/bin=/binだって >>64 /bin=/usr/bin /sbin≠/usr/sbin これ、Solarisの常識。 うっ・・羨ましい...... わたくしめでしたら金さえあればintelなマシンは買わんが..... また、貴方のお父様も通好みな物をお持ちで.... ちょっと詰まっているので、知ってる方がいたら教えてください。 レベルの低い質問だとは思いますが・・・ コマンドラインからの引数を受け取りたい場合、 int main(int argc, char **argv) と書きますよね、 argvは引数の先頭のアドレスだからargv++とかで、次の要素へズラすことができる、 *argvはその中身で、while(argc--){printf("%s",*argv);argv++;}で表示することができる。 では**argvと言うのは何を表しているんでしょうか? いろんなソースを眺めているとコマンドラインから受け取るオプションのチェックなどに使われているように思われるのですが・・・ **argv は *argv[ xx ] と思っていいよ そしたらわかるかい? >>70 71さんに勝手に補足(やりすぎたらごめんよ。自分で答えみつける方が楽しい からね) - 文字列はcharの配列である。書くときは char *hogeともchar hoge[]とも書ける。これの意味は同じ - じゃあ文字列を要素とする配列はどうかく? >72に勝手に補足。 char **argvの意味するところが判ったら、次は (コードとして難易度は比較的高い部類なんだけれど) コマンドライン引数を解析する為の関数である getopt(3)あるいはgetopt_long(3) がunistd.hあるいはgetopt.h(Solarisはどっちだろ...) にあるので、それの使い方および内部構造を読んでみると 更に理解が進むと思う。 http://cvsweb.netbsd.org/bsdweb.cgi/basesrc/lib/libc/stdlib/getopt.c?rev=1.21&content-type=text/x-cvsweb-markup http://cvsweb.netbsd.org/bsdweb.cgi/basesrc/lib/libc/stdlib/getopt_long.c?rev=1.15&content-type=text/x-cvsweb-markup # GPL版のgetopt_longは正直ごちゃごちゃしてるのでお勧めしない >>71-72 なるほど。たとえば、 int main(int argc, char *argv[]){ argv++; //./a.outを読み飛ばして argc--; //一つ減らす } をコンパイルして、 ./a.out test1 test2 として実行したとき、 *argv は test1 **argv は t を表すって事ですよね? つまり「char型の配列を要素とする、配列」と言うことで間違って無いですよね? >>73 アドバイスありがとうございます。 早速、挑戦してみます。 >>>1 よ。お前みたいな奴をみると、あの日のことを思い出すよ。 >2001年8月25日。2ちゃんが本格的に閉鎖になりかけた日だよ。 >転送量が多すぎて、費用が月700万もかかってるって発表されて、「数日中に閉鎖」って予告されてさ、 >その日のうちにあっちこっちの板が封鎖されてた日だよ。 >あのときのUNIX板の住人、カッコよかったんだぜ。「総力を結集」ってのはまさにああいう状態だよ。 >転送量を1/3に削減しないと閉鎖、ってもんだから、新しいプログラム組んでさ、 >そしたらほんの何時間かで完成したんだよ。それが聞いてくれよ、目標は1/3だったのに >1/16まで圧縮に成功しやがったんだよ。職人技なんてもんじゃねえよ、神技だよ。 >でもよ、そうやって頑張る人がいた一方で、「ボクの肛門も閉鎖されそうです」とか駄スレ立ててたバカも >いたわけだよ。ちょうど、今のお前みたいにな。 >だからよ、俺たちは総力を結集して、お前のバカ度を1/16に圧縮しようと思うよ。 >ま、圧縮後でもお前のバカ度はこの世に生かしておくことのできないレベルだけどな。 >要するに俺らの力を結集してもお前を助けることができないってことだ。 >わかったら、まわりに迷惑をかけないようにひっそりと死んでくれよな ってコメントあったんですけど、この中の「ボクの肛門も閉鎖されそうです」ってスレ探してます。 だれか教えてください。 Solarisでプログラミングの勉強して何になるの? 滅びるOSにしがみついてるヤツには未来は無いな(w Solarisを選んだ時点で負け組確定だろ。 若いうちから人生捨てるとは馬鹿なヤツだ >>1 *BSDもSolarisもLinuxにひれ伏してるじゃん。 これからはLinuxの時代だ! ちょっとヒートアップしてしまったが・・・本題に戻しますか。 Solarisのgetopt(3C)の解説はここを見るといいでしょう(ただしEnglish)。 http://docs.sun.com/ab2/coll.40.6/REFMAN3A/@Ab2PageView/107180 あと、Solaris上のプログラミング一般についてはここなんかいいかも。 http://docs.sun.com/ab2/coll.141.7/@Ab2CollView あと、 http://soldc.sun.com/ も参考になるかも(ただしEnglish)。 77にマジレス past-lookingな傾向はMacコミュニティにもLinuxコミュニティにも、 そしてUNIXコミュニティにもあるね。SolarisよりLinuxすすめる 根拠がわからない。10年後に今を振り返ってみたらどっちもどっちだよ。 きっとね。 高校生がUNIX使うのは悪くないよ。そういう高校生のなかから、 大学生になってUNIXに飽きて何か新しいことをはじめる人が でてきたら面白い。 >82 以前からSun関連スレで暴れてた、自称Linux使い。 厨房板等で荒し用perl scriptをコピペしてお山の大将、んで現在Unix板他を荒らしていると。 よって、今後一切マジレス無用。 >*argv は test1 >**argv は t >を表すって事ですよね? > >つまり「char型の配列を要素とする、配列」と言うことで間違って無いですよね? うん、そんな感じで理解してれば良いと思うよ。 しかし、最近荒れ気味のUNIX板でオアシスのようなほのぼのとしたスレだ。 >>1 も良い親父を持ったものだな〜。 Ultra10使ってる高校生なんて見たこと無いよ。 どれほどのスペックのマシンなんだい? >>1 頭のおかしな人達の標的にされるといけないのでsage進行でマターリ行きましょう。 みんなぁ!ここから先はサブマリン攻撃だ(sage侵攻) ところで、、、もらったポインタをインクリメントするのは オジサン本能的にチビっちゃうな >>1 インクるデクるときは、ポインタの写しをそうする方が安全だよ、 mallocとか使い始めるとわかるかもしれんけど。 # あ、そこ、CPUパワーのムダ使いとかいわないように >>75 そうですよねー。 >>79 >>81 とても参考になります。日本語の情報は本当にうれしいです。 ありがとうございます。 >>84 詳しくはわからないんですが、起動するときに UltraSPARC IIi 300MHz / 256MB と出てます。 >>85 なるほど・・・勉強になります。 int argc_copy char **argv_copy とかしてやってみます。 >>86 argcはコピらんでもええよ、、、 もともとmainにやってくるときにコピられてるんだから。 何が楽しくてSolarisなんて使うかなぁ? 実用性も楽しさもLinuxの方が遙かに上だと思うんだけど? 煽りとかじゃなくてマジで。 Linux だとお前のような馬鹿がうじゃうじゃいるからじゃないかなぁ? 煽りとかじゃなくてマジで。 >>88 人によって好みも価値観も違いますからね。 「〜の上」と根拠も示さずに書くのはただの 煽りと変わりませんよ。 デバイスドライバやプリインストールアプリの豊富さ等ではLinuxの方が上でしょうな. SMP/multithreading/CSIに基づいたI18NなんかではSolarisに軍配が上がるでしょう. まぁ>>91 で挙げたSolarisの強みというのは,Linuxの強みに比べると 一般のエンドユーザには直接的には実感しにくいところではあるかな. でも,Apache2の正式リリースにより,multithreadingについては 再評価されるのではないかな,と思っていたりする. >>92 そうそう、 >>88 はただの煽りだろーけど、 一般エンドユーザー代表意見としては 結構的を得ているかも。 SMP/multithread/CSI i18n は FreeBSD/NetBSD あたりでわりと頑張ってる人が いるみたいなので、個人的には *BSD に期待。 solaris/ia も存続希望〜。でも sun にとってはあんまりウマ味ないかもなあ。 プププ、ここは化石にしがみつく馬鹿が集まるスレですかぁ? Linuxの方がすべてにおいて上なんだけどねぇ・・・ それにきずかないSun信者ってかわいそうだね(w 今はUltra10に Linux入れてます。 やっぱ、メジャーな方が何かと都合がいいですね。 ♪〜 アイマン・イヌチュー ヨーアン・イヌチュー ウィーアー・イヌチュー… ブラザーズ! ♪〜 (皆さんご一緒に…) (1行4拍でラップ風に) >>100 これ、もーらい。 今度の学祭バンドの余興で Solaris同好会の隣で嫌がらせ演奏してやろう(w 犬厨は1つの側面で総て語ろうとするから怖いね。 Winも歴史的経緯抜きで考えるといい面もあるけど、もちろんな如く総て否定して煽りいれてそうだね。 。。。だれもLINUXバカにしてないのに 思想的なバカはどこいってもバカなのは確かだす Solarisプログラミングを初心者が 学べるご本はありますか? 教えてください。 >>108 この辺から選んでみれば? ttp://www.gihyo.co.jp/books/series.php/hyopro 取敢ず、プログラム組んで動かすのもいいかも。 機種依存(SPARC/IA,*Linux,*BSD)の問題はその後だね。 >>88 こういう人って 時々いるよね… 「何が楽しくて」って、 何も判らないなりに父親に与えられた物を使ってみてるんでしょうが。 >>89 Linuxウンヌンはともかく、「バカ」には同意。 俺はデモのコードを読んで勉強したぞ。がんがれ>>1 キタ━━━━━━( )(゚ )(∀゚ )(゚∀゚)( ゚∀)( ゚)( )━━━━━━ !!!!! 【Solarisデバイスドライバ本】発売記念あげ ttp://www.oreilly.co.jp/BOOK/solaris/ これで、やっとsolarisでデバドラ書けるぜ!!!!!!!!!!!!!!!! うれぴい >>121 もう、自分は書きまくるよ。 1週間に1つの割合でデバイスドライバ書くぜ! 1月に4つで、1年に12ファイルの勢いです。 まずはUSBのデバドラとか書こうかな。 >>123 ,>>124 いや、違います。 tarでアーカイブしてあるんです。(1つのtarファイルに4つのデバドラ)w Solaris(x86/SPARC共に)のXawの、asciiTextWidgetでは XIMを使った日本語入力はできんのだろうか? Linuxで上手く動いたコードを元に試行錯誤を繰り返してるが、 XtVaCreateManagedWidget実行後、標準エラー出力に Warning: we can not open any input method と出て、さっぱりIMが使えない... 学校の授業でいきなりUNIXやらされてます・・・。 もう、頭がウニです。ウニックスです(TT お礼するから代わりにレポートやってくれる人がいたらどんなに楽なことか・・・ と、言ってみるテスト。 >>128 今時、いきなりUNIXやらしてくれるんんて、いー学校だな。 まぁせいぜいがんばれよ。 やってほしけりゃさりげなく課題はっときなよ。 しかもアップしてみたけどアクセスできなかった・・・。 WINも満足に使えないようでは・・・ >>128 早くうpしてよ。 寝ないで待ってるんだから。 >>128 wordファイルでなくて、textファイルにしてよ。 >>128 【問題1】 1) 標準入力から読み込んだストリームで、 第1行目以降のプリプロセッサ処理行を表示するプログラム 2) 1.getcharで標準入力から1文字読み込み 2.前の文字が改行でないなら次の行を読み込み 3.前の文字が改行の場合、現在取得文字が'#'の時にstatusフラグに1を立てて 4.次行でstatusフラグが1の場合、標準出力に1文字出力する。 5.以上をストリームの終わり(EOF)まで繰り返す。 >>128 【問題2】 めんどいので端折るが、shellの勉強をすればすぐできる。 >>137 【訂正】 2.前の文字が改行でないなら次の行を読み込み ↓ 2.前の文字が改行でないなら次の文字を読み込み ^^ なんだかソフトウェア作法とか勉強したらすぐにできそうだな。 アホみたいな質問なんですが、 OS起動時に「/」がグルグル回るようなプログラムはどうやって組めばいいんでしょう? echo -n "-^H\^H|^H/^H-^H" >>143 # echo -n "-^H\^H|^H/^H-^H" -n -^H\^H|^H/^H-^H こうなるが csh% foreach n ( - / | \ - );printf $n"\c";sleep 1;printf "\b\c";end ってすると"\"のとこだけは表示されないね。 \がコントロールコードの字句解析を打ち消すのがネックか? 確かCR(13、行頭に戻る)を使ってる。こんな感じ? #!!/bin/sh while : do for c in - / \| \\ do /usr/5bin/echo "$c" "\r\c" sleep 1 done done >>137 どういう動作をさせたいのかよくわからんね。 なんとなく、「先頭行以外の行頭#の次の行からstdinをstdoutにコピー」になってる気がするのだが… なんつーか、トラブル気味なので、教えてください。 とりあえず、問題はここまで絞り込んだんだけど、 ここからがぜんぜんわかりません。 Sun.docs.comにこういう話ってでてないよね? Solaris9(64bit)で以下のコードのプログラムを動かしたとき、 必ずsegmentation faultがおこる。 struct { inta; shortb; }A; typedef A *PA; int main(){ PApa; intnum=3; pa = (PA)malloc(sizeof(PA)*num); pa[0].a = 1;//ここでsegmentation fault return 0; } このとき、ILP32ではうまくいくが、LP64(xarch=v9)ではうまくいかない。 mallocが問題だと思うんだけど、どう問題なのかがよくわからない。 Solaris9の64bitプログラムに詳しい方、ぜひぜひ教えてください。 よろしくお願いします。 ポインタの配列しか確保してねーじゃん。K&R本から(以下小言 >148 ぐは。間違えてる。 正しいのはこっち。 > struct { > int a; > short b; > }A; > typedef A *PA; > int main(){ > PA pa; > int num = 3; > > pa = (PA)malloc(sizeof(A)*num); > pa[0].a = 1;//ここでsegmentation fault > return 0; > } ちゃんと構造体の大きさを個数分確保してるんだけど、 うまくいかない。32bitだとうまくいって、64bitだとうまく いかない理由がわからない。なんでだろう??? 構造体の列をそうやって一括でmallocするのが諸刃の剣だっ ツーことは分かっているヨナ? まさか stdlib.h を include してないってオチはないよな? >>152 一括でmallocして何の問題があるつうのよ おまえ諸刃の剣って言ってみたかっただけだろ >>148 こうすればいいんだろ。 32bit、64bitどうこう言う前にK&R本が必要では? typedef struct { int a; short b; }A; typedef A *PA; int main(){ PA pa; int num = 3; pa = (PA)malloc(sizeof(A)*num); pa[0].a = 1; //ここでsegmentation fault return 0; } >>155 K&R本がどうこう言う前に>>150 をよく見ては? >>150 たぶんコンパイルオプションがおかしいんじゃない? ちゃんと64bitライブラリをリンクしてる? 下のソースでコンパイルも実行も問題なかった /* * c -xarch=v9 -o aaa aaa.c */ #include <stdlib.h> typedef struct { int a; short b; } A; typedef A * PA; int main(){ PA pa; int num = 3; pa = (PA)malloc(sizeof(A)*num); pa[0].a = 1; } >>156 >K&R本がどうこう言う前に>>150 をよく見ては? は? 言ってる意味がわかんねーよ。 155のソースでは駄目ってこと? >>158 は、155のソースにincludeつけただけじゃん。 要するに struct { inta; shortb; }A; は、 typedef struct { int a; short b; }A; だろ。 1 stdlib.hをincludeし忘れ 2 mallocの戻り値が32bit整数と見なされ 3 64bitポインタの上位(下位?)32bitがpaに格納され 4 あぼーんされ >>159 typedefが無いとコンパイルエラーになるから、 それは単なるコピペミスだと思う >>160 それ以前に>>150 のソースをそのまま コンパイルすると警告が続出なんですけど。 iconv()に関して質問させてください。 static int KONBU(char *to_code, char *from_code, const char **inp, char **outp, size_t *inl, size_t *outl) { iconv_t icv_hook; size_t ret_val; icv_hook = iconv_open(to_code, from_code); if(icv_hook == (iconv_t)-1)return(ANS_ERR);// NG Return ret_val = iconv(icv_hook, inp, inl, outp, outl); iconv_close(icv_hook); if(ret_val == (size_t)-1){ if(errno == EILSEQ) printf("EILSEQ\n"); else if (errno == E2BIG) printf("E2BIG\n"); else if (errno == EINVAL) printf("EINVAL\n"); return(ANS_ERR);// NG Return } return(ANS_OK);// OK Return } 上記のようなiconv()を用いた関数があります。 unsinged char *sb, db; ret = KONBU("JIS7", "PCK",(const char **)&sb,(char **)&db,2,8); そしてこのように呼び出しており、unchar sbには 83 31 83 32 83 34 ....といったようなデータを渡しています。 実行結果はEINVALが返ってきます。 ここで質問なのですが @第5引数の2はsbを2バイトずつ読み込むということでよろしいのでしょうか? A第6引数の8は何を指すのでしょうか? Bsbには0x81 0x31 ....というようにヘキサを読み込ませているつもりなのですが そもそも文字列で渡すべきなのでしょうか? CEINVALのエラーの意味がよくわからない。 以上4点になります。 厨な質問かとは思いますがご教授お願いいたします。 >>1 >わくわくして起動してみるとなんか友達の持ってるヤツと全然違う・・・ >っていうかキーボードとマウスもよく見るとなんかおかしい。 いつも自分が慣れたブツ以外は「おかしい」「違う」といって種類の多様性を 容認しようとしないMS中心のグローバルスタンダード的な考えは (あえていえば自分がそのような事を考えたことが無いにしても 排斥的思考を恐らくは無意識のうちに行なっているという事は) 差別や偏見にもつながりかねない重大な問題だと思うんですが、どうでせう? いやむしろ多様性を受け入れようとした結果がこの惨状なのでは? >>168 つまり>>168 が>>1 を偏見的な目で見ているから そういう解釈になるのですね? ということが言いたいわけですね。 つーか「パチョコン」といいながら「ワークステーション」といってるところで ネタ確定。 あとSPARCウザーから言わせればultra5/10はパチョコン同等。 ブリッジの下に何でもぶら下がってるのは安物。バスがスイッチなUltra60ハァハァ >>171 UPAバスの有無のことだろうけど、1cpuや2cpu程度なら あんまし意味ないっしょ 100%ネタ こんな陰険な父親いたらヤダなぁ〜(爆) >>175 そうかなー、俺はこの親父かっこえーと思うけどね。 もっとも、親父も本人が工学方面の興味をもってるから与えたんだろ。 正直言って、パソコンなんて5万程度で買えるんだからバイト代で買えるし、 ある意味、ワークステーションなんて親父が買わなければ、最初のうちは 出会えない代物だから、親父の判断は正しいと思うよ。 デモ実際にいそうじゃあない? 大学の教授とかでさー。 学校の放出品もらってきたりとか…。 漏れは先日大学からもらってきたぞい。 ども。 Solaris8+SunONE7 で ローカル時間にmsec(ミリ秒)を使いたい。 localtime構造体には、msecがなく、困ってます。 何か他のmsecのある構造体を教えてください。 また、time構造体から上の構造体への変換関数もお願いします。 #プログラム板の方にも書き込みしちゃったけど、その後、ここ見つけたんで、 #書き込ませてください。 time構造体なの? time_tとかstruct tmではなくて? gettimeofday(3C)で使うstruct timevalは マイクロ秒単位のメンバを持ってるよ。 6〜10msec程度の精度はあると思う。 ただし、gettimeofday(3C)で得られるのはUTC時間なので タイムゾーン処理は自分でやる必要あり。 >180 レスありがとう。 すいません、timeじゃなくてもいいです。 time_t,struct tm,hrestime,など。 標準的な関数かシステムコールで、時間を取ってこれて、それを ローカル時間に変換できる関数があればいいです。 UTC時間だとそっから自分で変換するのに、処理にかかる時間が 問題になるかもしれないので。 できればローカル時間へ一発で変換したいところ。 > 標準的な関数かシステムコールで、時間を取ってこれて、それを > ローカル時間に変換できる関数があればいいです。 「localtime構造体」ってのはstruct tmのことでいいんだよね? 少なくとも2038年までなら、struct timevalのtv_secをtime_tに変換すれば localtime関数が使えるでしょ。 struct timeval tv; time_t t; struct tm *tm; gettimeofday(&tv, NULL); t = tv.tv_sec; tm = localtime(&t); printf("%02d:%02d:%02d.%03d\n", tm->tm_hour, tm->tm_min, tm->tm_sec, tv.tv_usec / 1000); > 6〜10msec程度の精度はあると思う。 訂正。実測したら20usecくらいの精度はあるみたい(@Blade 100)。 >182 返事ありがとう。 まさしく求めていたもの、そのものって感じです。 ありがとうございました。 Solaris8のSun ONE7 でディレクトリの存在チェックをするには どうしたらいいでしょうか? opendirを使おうと思ったんだけど、DIR *が大きさ不定?な 構造体らしく、どうしたらいいかわかりません。 簡単にディレクトリの存在(ある、なし)をチェックするには どうしたらいいか、教えてください。 exec(ls)のようでないものをお願いします。 Solaris8ってlibpthread.a無いんですか? Linuxだとちゃんとあって、スタティックリンクできるんですが。 Solaris の場合、スタティックリンクできない。 これは pthread 回りでシステムコールインターフェースの変更が あっても、libpthread.so でその変更を吸収するためなので、 我慢しる。 処理時間が一定時間を越えた場合には、強制終了するように、スレッドとシグナルを使って、 以下のようなプログラムを組んでいます。 しかし、シグナルハンドラを無視(起動しない)もしくはシグナルの無効化ができません。 どうしたらよいでしょうか? ・初期設定 ・スレッドA起動 ( ---> シグナルハンドラ(SIGALRM)設定、インターバルタイマーセット ) ( ---> タイマー待ち ---> 時間が来たらハンドラ起動 ---> ハンドラ(abortで強制終了) ) ・処理B ・処理Bが時間内に終了 ・スレッドA終了処理 ( シグナルハンドラを再設定 ---> インターバルタイマーリセット ) ( スレッドAをキャンセル ) ・処理続行 このとき、シグナルハンドラの再設定し、スレッドAを終了させると、ALARM CLOCKで終了。 スレッドAを終了させて、なおかつ、ハンドラを起動させないようにするためにはどうしたら いいか教えてください。 なんか、Solarisの中味(システムコール?)について、よくわかってないので、変なこと書いてる かもしれませんが、よろしくお願いします。 >>191 そのスレッドAってのは時間監視だけしてるの? それとも処理BってのもスレッドAの仕事? 時間監視だけなら、シグナル使わないでスレッドAをその時間だけ眠らせておけばいいんでない? >>192 > >>191 > そのスレッドAってのは時間監視だけしてるの? それとも処理BってのもスレッドAの仕事? > 時間監視だけなら、シグナル使わないでスレッドAをその時間だけ眠らせておけばいいんでない? そうしておいて、B側で処理が間に合ったらフラグをセットして、スリープから起きてきたA側がそのフラグをチェックすればいいんじゃないのかな? レスありがとう。 >192,193 スリープでもいいかなと思って、暫定的にそのような処理にして、動かしていました。 しかし、他にもいくつかのスレッドが立ち上がっており、タイマー待ちができない状態になりました。 結局、なんとか今日解決したのですが、どのようにしたかというと、以下のような感じです。 (SIGALRMは他のスレッドで使用するため、ほかのシグナル(SIGUSR1)に変更することになりました) スレッドAは時間監視セット処理のみ行う。 処理Bはタイマーによって監視され、一定時間経過したら、ハンドラによって強制的にプロセスごと終了させられる。 ・初期設定 ・スレッドA起動 ( ---> シグナルハンドラ(SIGUSR1)設定、timer_create(TimerID), timer_settime() -----> スレッドA終了) ( 時間が来たらハンドラ起動 ---> ハンドラ(終了処理後、abortで強制終了) ) ・処理B ・処理Bが時間内に終了 ・タイマー削除処理(timer_delete(TimerID)) ・処理続行 以上、こんな感じです。 ありがとうございました。 スレッドとシグナルを併用するってぇいうのが間違いの元 Solaris Systems Programming ttp://www.amazon.com/exec/obidos/tg/detail/-/0201750392/ 翻訳期待の本 Sunblade 100のCPUは、sparc64でつか? 何が64bitかはわからんが、まあ普通は64bit CPUに分類される。 >>200 ありがとうでした。 いや、ちょっと今ビッグエンディアンとリトルエンディアンのテストしたかったので、 x86とSparcを使用して64bit,32bitデータがどうなるか調べたかったのです。 おかげでエンディアン問題に影響しないコードが書けました。m(_ _)m そりゃそうだろ。 大抵のプログラムはエンディアン問題には影響*しない*。 影響*される*ことはままあるがな。 とりあえずあれだ、漏れが適当なWindowsマシン(ライセンス付き)送ってあげるから そのマシンと交換してほしいよ。マジで。 Puttyを使ってsshで接続後、makeとかしてるんですけどセッションが切れてもmakeし続ける方法ってないんですかね? makeに1、2時間かかる間にPuttyやネットワークが落ちてもサーバー側に問題がなければmakeしててほしい。 screen 使ってでたっちするか nohupするか。 なんで、なんでなんで。 おすぎですっ。ぴーこですっ。 ゆーたいりだつっ。 ざ・たっち。 >>204 文字をintで扱うからエンディアン影響するんじゃ? キャストってスペックにだけ影響するの? 一ヶ月前、父親に「パソコン買って」とねだったら[PC8801]と書かれたマシンをくれました。 わくわくして起動してみるとなんか友達の持ってるヤツと全然違う・・・ っていうかキーボードとマウスもよく見るとなんかおかしい。 親にネットにつないでもらって調べてみるとPC8801というのは NECというメーカーが出しているワークステーションで N88BASICというシステム(Microsoft?)が動いているようです。 父親にこのワークステーションで何ができるのか聞いてみると、 「ホ→ムペ→ジもメールも見られるぞ」「派手なゲームはできない」 「どうせ暇なんだからプログラムでも勉強してみろ」 とつれない答えが・・・ まあ冬休みで暇だからプログラミングを勉強でもしてみるか、と ネットで勉強しながらifとかwhileとか構造体とかポインタとか覚えました。 しかしこれを使って具体的に何ができるのか・・・? ネットで見られる情報には↑とかの基本的な使い方しか書かれて無い模様。 ここからステップアップしたいのですがどうすればいいんでしょうか? 友達にも知ってる人はいないし、 本屋で立ち読みしてもネットで得られるものと同じような基本的な部分にしか触れていません。 2ch閉鎖騒動の動画をみてUNIX板の存在を知り ここならすごいプログラマーの人がいると思い質問させていただきました。 お願いします。 PC88でwebもメールもできるんなら、それはたしかにわくわくするなあ。 PC88ってN88Basicしか動かんのじゃないの? DOSの前だよなw おれSRmkU持ってたけど。単なるゲームマシンだったな。なつかぴ。 CPUはZ80(相当)だから、CP/Mもあったらしいよ。 UZIXも動けばおもしろいんだけどね。 おお CP/M ね。 あったなぁ。 俺は日電CP/M持ってたもんね。 あの頃のソフトはほんとバケモノのように良く出来てたよ。 Fortran,PL/I,CPBOL,C つか、ふつー PC-8001 で CP/M だろ? メディアは8インチフロッピーw お父さんのクオリティに感動!! てか絶対WindowsPCより高い金出してるよな 特定のウィンドウ1〜3を指定した順に上位スタックするようにしたく・・・ ※ウィンドウは他にも多数あるという前提で Display *dsp; Window win[3]; int w_num; w_num = 3; wim[0]=123; /* アプリ1のWindowID*/ wim[1]=456; /* アプリ2のWindowID*/ wim[2]=789; /* アプリ3のWindowID*/ /*IDは引数で渡されたものを数値変換したもの、または、*/ /*共有メモリから取得した値。ここの例では省略している*/ dsp = XOpenDisplay(display_name); XRestackWindows(dsp, win, w_num); /*指定した順でウィンドウを再スタック*/ と、したのだがウィンドウがピクリとも動きませんでした。 どこが誤っているのか、なにか処理が足りないのかが判りません。 どなたかお判りになる方は居ませんか? >>221 適当なWindowManagerのソース見てみたら? 自分がオープンしたウィンドウじゃないから うまく動かないんじゃね? WindowManager用に用意されてる関数があったような 気がする。 >>223 サンクス WindowManagerみてみる。 いろいろ試してみたけど CygwinでWindowManagerの介入阻止してやると 動きそうな幹事。 ただ、他のWindowManager上で試すとまったく 動かなかったりする。 よくわからん。 >>224 VictorのMSX2にもデュアルCPUなHC-95ってのがあったぞ。 >>222 あのね、子供がしたことに対して親が責任を取るというのは当然でしょ。 それと全く逆のことを考えればいいのよ。 歴史的な問題の場合、上の世代の過ちに対して、下の世代の人たちが責任を取らなくちゃいけないの。 なるほど、失敗した上の世代を吊るしていいということか nanosleep()命令がコンパイルできません。 何か設定があるんですか? No manual entry for nanosleep さがしもせず「ないからわかりません」とかほざくやつはしねばいいとおもうんだ ttp://www.freebsd.org/cgi/man.cgi >>233 スレタイよめ。 あと、古いSolarisだとnanosleep()は無かったと思うぞ。 さあ早く select()使ってnanosleep()を実装する仕事に戻るんだ、、 select()命令を使ってnanosleep()命令にする(?)って、そんな設定があるんですか? select() のタイムアウトを nanosleep() の代わりに使うという話でしょ。 PASS= に/usr/gnu/binを適応してるのに xmkmfのジョブが実施できません>< ヘルフお願いします setコマンドで本当にそのパスを食ってるか rehashしてみるとかwhich xmkmfしてみるとかさぁ Solaris-7.0 x86 なんですけど、最新版に上げるための手順を教えてください。 C言語を静的リンクするのに、オプションは -staticじゃ駄目なんですか? 何かエラーが出るんですけど >>246 その、コンパイラ(リンカ)により異なるオプションを付けても エラーが出るんですけど エラーメッセージを書かないのは、宗教上の理由からですか? >>245 これ、なぜそうなるか知ってる人ならエラーメッセージ関係なしで答えられるよね Solaris10ではlibc.aが提供されていない。 だったらインストールCDからlibc.aを追加すればいいだけでは? Solaris10で開発した事がない老害か? とっとと引退して判子押しでもやってろ。 >>255 SUNWがたくさんあり過ぎて探すのが大変です。-staticのSUNWを教えて下さい。 >>255 と>>257 は最近の事情を知らない、死に損ないジジイなので無視しましょう。 Solaris10ではライブラリが提供されていないから、スタティックリンクは出来ません。 だから、回答のSUNWだけ教えろよ。能書きは不要。 みんないじわるだなぁ >>245 SUNWarcに入ってるよw >>265 感謝!!!! SUNWを入れたら静的コンパイラできましたぁ!!!! tarファイルの中のファイルを削除したいのですが、solarisにはdeleteオプションが無いようなので、このオプションを使わずに削除するにはどうすればいいのでしょうか? /usr/sfw/binにgnuのtar入ってなかったっけ? 一旦展開してアーカイブ作り直すとか >>269 それは難しいと思います。 パイプで渡せば出来そうな気がするのですが。具体的にどう書けばいいのかわかりません こんなんでいいのか? $ ls test1 test2 test3 $ tar cf - test* |perl -MArchive::Tar -e '$tar=Archive::Tar->new(\*STDIN);$tar->remov\ e("test1");$tar->write(\*STDOUT)' |tar tf - test3 test2 >>272 ありがとうございます。今環境がないので今度客先のaixで確認してみます。 >>272 はじめにAIXのスレで質問して、ついでにシェルスクリプト総合で質問したものですが、 http://hibari.2ch.net/test/read.cgi/unix/1290209379/235-236 でシェルスクリプトを書いてしまいました。 どうも別の人も質問したり、回答したりしているようです。 perlは使ったことがないのですが、便利そうですね。 しかし、会社のAIXにperlはインストールされているのだろうか… awkとかsedを使っている人はいるんですけどね。 汎用性はawkとかの方が高い気がしますが、perlの方が高機能なんですかね。 ちなみに268,271,273は私ではありません。 スレチですがAIXで動かすのが目的です。 自宅にはCent OSとFree BSDの環境があり、Cent OSでdeleteオプションが使えることは確認しました。 せっかくシェルスクリプトを書いたので、当面はそれを使うつもりですが、 Cent OSでperlは使えると思うので、272のコードも試してみようと思います。 >>272 実行してみたところこんな感じでエラーになりました。 [root@centos ~]# touch test1 test2 test3 [root@centos ~]# tar cf - test* |perl -MArchive::Tar -e '$tar=Archive::Tar->new(\*STDIN);$tar->remove("test1");$tar->write(\*STDOUT)' |tar tf - Can't locate Archive/Tar.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 \ /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl \ /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .). BEGIN failed--compilation aborted. tar: これは tar アーカイブではないようです tar: 処理中にエラーが起きましたが、最後まで処理してからエラー終了させました どこが間違っているのでしょうか? 「古文書のありかを突き止められません」も読めないゆとりか? Can't locate Archive/Tar.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 \ Archive::Tarがインストールされていない。 $ cpan Archive::Tar かな? >>279 ありがとうございます。動いたようです。 しかし、会社では使えないんだろうな… ./configureでインストールする時に毎回prefixオプションつけて場所指定するのめんどうなんだよね。 標準のインストール先は/usr/local以下になってると思うんだけど最初に環境変数与えておくとかで変更する方法あるかな? solaris8 ってupdate_drvコマンドって無いの? ぐぐってもそれらしき情報が無いんだが http://www.sunfreeware.com/ ここにもないし よく訓練されたSolaris信者はupdate_drvコマンドとか使わないw そうなんですか 訓練されてはない感じなものですみません。 vmwareのtoolがそれを必要としているんですが デフォでインストールされてないのでどうしたものかと ttp://download.oracle.com/docs/cd/E19455-01/817-5440/6mkt7mdj9/index.html Solaris8にも入ってるみたいだけど OSリリースによって違うのかな そうですか入ってるですか・・・ 04/01を使用してますがね。 >>147 solarisの場合、5bin/echoは bin/echoそのものだろw プロンプト用プログラムで、 処理時間がかかるルーチンを実行中に 何かキーボードが押されたらその時点での進行状況を表示、または中断、 という仕様を要求されました。 getchar()では、キーを押すまで帰ってこないし、 そもそもgetchar()を呼んだタイミング以外でもキーに反応しなければならないので 無理だということはわかりました。 こういうのは割り込みを使うそうですが、調べると、 キーボードはIRQ1を使っていることはわかりました。 C言語で、IRQ1を読み込んでプログラムを分岐させる?のは どうすればいいか、誰かわかります? ttp://d.hatena.ne.jp/wocota/20090306/1236326294 こんなん出てきたけど参考になりそう? >>290 シグナルでやれば良いんじゃね Ctrl-C で SIGINT のハンドラで処理をするってかんじで。 >>292 シグナルも考えましたが、Ctrl-Cじゃ駄目なんです>< HIT ANY KEY で、AとかBとか、どのキーが押された時でも 反応しないといけないんです。 tcgetattr,tcsetattr,cfmakerawあたりでできなかったっけ 書いた後だけど cfmakerawがSolarisに無いんだな・・・ Google Code Searchでcfmakeraw使っているプログラムで Solarisの場合はどうやってtermiosを設定しているか調べれば それが答えだと思う >>294 ,295 tcsetattr()で端末設定いじっても、stty rawコマンドと同様に 端末入力を行バッファしなくなるだけ(Enterなしに入力が返るだけ)で、 getchar()とかで入力を読みに行ったタイミングでしか 反応できないという問題の解決にはならないでしょ。 元質問はgetchar()を呼ばずに長時間処理を行なっているプログラムに対して、 どれかのキーを押した時に割り込み的にプログラムの流れを変えたいということ みたいだから。 >>296 は頭悪いのか?w スレッドじゃなくて別プロセスでシグナル投げても良いだろ デバドラ書きましょうってことじゃなかったのかorz Linuxの libc.so.* みたいに、 共有ライブラリなんだけど直接コマンドとして実行も可能なライブラリファイルって、 どうやってコンパイルして作るの? >>302 Solaris関係あります。 Solarisで自作共有ライブラリ(libhoge.so.1とか)を作る時、 ./libhoge.so.1で実行しても実行できるようにしたいんです。 すみませんが共有ライブラリを実行してうれしい方のみ回答をお願いします >>301 >>303 逆にLinuxでは共有ライブラリが実行できるのかよw そんなOS今までに見たことないな。 どうせbashとかのaliasで、共有ライブラリを実行しようとすると 別のコマンドが起動されてるとかのオチだろw SPARC(32bit)にはフラグを直接操作する命令がない。 N=ネガティブフラグ、Z=ゼロフラグ、C=キャリーフラグとするとき、 以下の状態にフラグをセットするアセンブラ命令を考えよ。 (1) N=0 Z=0 C=0 (2) N=0 Z=0 C=1 (3) N=0 Z=1 C=0 (4) N=0 Z=1 C=1 (5) N=1 Z=0 C=0 (6) N=1 Z=0 C=1 ただし、レジスタの値は一切変化させてはいけない。 レジスタの現在値は不定(不明)とする。 V(オーバーフロー)フラグはすべてV=0となってよい。 最小の命令数の回答を正解とする。 ・・・以上わかる方、できれば月曜日までにお願いします。 共有ライブラリの実行ってバージョンとか出すだけじゃなかったか? exec に細工してあって共有ライブラリののマジックならヘッダのバージョン読んできて表示とかなら簡単だろ。jar が直接実行出来るのも #! でインタプリタ呼び出すのも exec の機能なんじゃないの? セグメンテーション違反がx86ではなく、SPARCに問題にあって発生 している場合 どうしたら実行できますか 一年半越しの質問に答えるのもなんだけど --sharedだろうと無理矢理エントリポイントを指定しておけば動くんじゃないの 仕組みわかってれば予想できる事だと思うが SPARCに問題があるのじゃなくて、 バイトーオーダーを考慮せず実装した のでバグっているだけだろ。 http://ja.wikipedia.org/wiki/ エンディアン >>313 全く同じコードがMIPS(EB)では正常に動くので、 バイトーオーダの問題じゃないです。 事前情報が適当すぎ 四の五の言わずにデバッガかませばすぐわかるだろ 安全側の判断として、SPARCのセグメンテーション違反である可能性が否定できない ので、運転再開を認めないことになりました。 SPARCでセグフォルトする原因を調べなかったばかりに x86/mipsで偶然動いていたバグを見過ごすわけだな。 質問です Gccのコマンドラインをだーって入力するとコンパイル出来るじゃないですか それにオプションをさーっと追加して静的コンパイルしたいんです 出来ますの?ちなみに-staticを付けてみましたが変な英語で止まりました 勿論ググりましたが、当方馬鹿なのでわかりません サルでも分かるような回答を強く期待します 僕はこういう小バカにしたような書き方しか出来ませんが、凄く切実に知りたいです さぁどうぞ↓ 先日、他部署を交えて開かれた社内技術交換会でのこと。 先輩は自分が開発担当したあるソフトのプログラミング中に思いついたという 文字列処理の高速化アルゴリズムについて得意気に解説し始めた。 話し始めてしばらくして、隣の部署の人が口をはさんだ。 「それ、有名な番兵のアルゴリズムですよね。ウチでも昔はよく番兵を使いました。 でも番兵はマルチスレッドで使えないという欠点があるので、 今では番兵のアルゴリズムを使うことは禁止してます。 これ使われると発見しにくいバグになって困るんですよねぇ… ところで今日のお話というのは、 番兵のアルゴリズムをマルチスレッドに対応させるような方法か何かですか?」 そのあと先輩の話は支離滅裂になり、何の技術交換会だったのか よく覚えていない… このあたりをまじめにやってない技術者をあつめて 「データ構造とアルゴリズム」みたいな本を通読 する勉強会をすべきなんだろうな。 >>319 makeコマンド(Makefile)を勉強すれば幸せになるかも。 SolarisでUNIXを覚えた君たちへ 君たちが悪いわけじゃないんだよ 君たちが覚えたSolarisの将来が無かっただけ 当時の社会が悪かっただけ 君たち一人ひとりが悪いわけじゃないんだよ だから自分を責めないで 社会と向き合ってください そうすればきっと気が付くはず 君たちのSolarisの知識が無用なのだということに 君たちの存在自体が社会の足枷だということに ハゲ侍 サブコミュ イケメン スカイプ マリリンマンソン Twitter マリオ64 ゲーム実況者 マリオカート ハゲ侍 ツイッター 星のカービィ64 マリオサンシャイン ニコニコ超会議 ポケモン フレコ MH4G アメブロ ハゲ侍 アメーバブログ 仕事 Skype ツイキャス モンハン 歌い手 スプラトゥーン マニアック ハゲ侍 動画 顔 ドリームクラブ 好き 刃牙 サイレントヒル ドラゴンボール イケボ ハゲ侍 漫画 フレンドコード NG縛り ニコニコ生放送 歌ってみた 太刀 ニコニコ超パーティー コミュニティ ハゲ侍 大学 アキネーター 配信 ニコ生 サブコミュ マリリンマンソン イケメン 学歴 ハゲ侍 マリオカート Twitter スカイプ マリオ64 ツイッター ゲーム実況者 星のカービィ64 ニコニコ超会議 ハゲ侍 ポケモン マリオサンシャイン フレコ MH4G アメーバブログ 仕事 Skype ツイキャス ハゲ侍 モンハン 歌い手 マニアック 動画 アメブロ スプラトゥーン 刃牙 ドリームクラブ ハゲ侍 好き サイレントヒル ドラゴンボール 漫画 顔 NG縛り フレンドコード ニコニコ生放送 http://kanae.2ch.net/test/read.cgi/pcqa/1421101110/51 http://kanae.2ch.net/test/read.cgi/pcqa/1415921104/55 http://kanae.2ch.net/test/read.cgi/pcqa/1436852775/17 誰でも簡単にパソコン1台で稼げる方法など 参考までに、 ⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。 グーグル検索⇒『宮本のゴウリエセレレ』 EBKNZABJRN チョンマゲオヤジ、そろそろ牛刀持った竹田にぶっ刺されんぞw 知り合いから教えてもらったパソコン一台でお金持ちになれるやり方 時間がある方はみてもいいかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 TPQOS Solaris10に勝るLinux系OSがあったら教えて >>334 どのLinuxでも性能面では勝ってるが 有償サポートが必要ならRedHatだろうな read.cgi ver 08.0u [upliftProject] - 2023/07/09 Walang Kapalit ★ | uplift ★ 5ちゃんねる