1 名前:名無しさん@お腹いっぱい。 [03/02/18 03:49.net] いますか?
705 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/21(日) 18:48:03 .net] UNIX C で何を作れば良いのか分からない香具師へ。 オプション処理とかは省略しても良いので、以下の機能と 同様のものを作ると良いでせう。 /bin/cat, /bin/cp, /bin/ls あとは string.h 系の関数を理解して使えるようになれば、 メモリ周りのことも知識になるかと。
706 名前:jsz ◆/wopr/j/y6 mailto:sage [2006/05/21(日) 20:02:21 .net] 自分もそういう質問が来ると既存のコマンドと同等なものを作るように進めてる yes, cat, echo こういう順かな。 lsはちっと難しいかもね。 前までsleepも入れてたけどおもむろにシステムコールだから最近は言ってない でもyesをスムーズに作れる人はなぜか中々いない 実際に物を作らないとプログラミング何も理解できないってことかな?
707 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/21(日) 20:17:08 .net] 簡単で良いから、シェル書くと良いと思う。 リダイレクトとかね。
708 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/21(日) 20:19:29 .net] むかしIRCでechoを作ろうとしてたやつがいて ENVの出力の仕組みが分からないといってずっと悩んでたな 4日くらい悩んでみたいだからshellのことを調べてみって教えてあげた 滅茶苦茶面白かったw
709 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/22(月) 05:14:16 .net] >>706 ごめん、yes, cat, echo の順である理由がマジで分からん。 漏れがヘタレなだけかもしれないけど、良かったら教えて。 別に煽りとかじゃなくって単に興味本位からです。
710 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/22(月) 09:55:02 .net] >>706 じゃないが /binに入ってる中で簡単なコマンドだろ その中で簡単に書ける順か? catとechoの順番が謎だけど>>708 見たいな やつもいるからcat先にやらせてるんだろ
711 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/23(火) 04:51:52 .net] yesとcatやったらechoは不要な希ガス
712 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/13(日) 00:09:38 .net] short ErrorLog(char *arg, ...) { va_.............................................; ; error! goto end; return 0; end; ; ; ; ; return -1; }
713 名前:名無しさん@お腹いっぱい。 [2006/10/27(金) 23:37:43 .net] プログラム書けないなあ。BシェルとAWKでほとんどの用途は足りるんじゃまいか
714 名前:名無しさん@お腹いっぱい。 [2006/10/28(土) 01:54:40 .net] それは新規に書かないと足りない用途から目を背けているから
715 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/28(土) 02:20:59 .net] >>713 書けなくても読めないと困る時無い? で、読めないと困るから勉強すると自然に書けるようになってたり。
716 名前:名無しさん@お腹いっぱい。 mailto:age [2006/10/29(日) 08:28:32 .net] >>715 なんでも屋の社内SEならともかく、SIerなどは別職種・別部門が当たり前だ。 (1)インフラ系SE H/WとOSの導入、設定を行う シェル・スクリプトの技術はある程度必要だが、言語は不要 (2)パッケージ系SE SAPやOracleDBなどのDBMSやERP、Tivoliなどの運用管理ツールの導入、設定を行う 前者は(3)、後者は(1)と同じ場合もある (3)アプリ開発SE/プログラマ JavaやCなどでアプリをコーディング 言語プログラミングに加えて、シェルによるバッチジョブも書く (1)のSEはシェルが書ければ、プログラムは読めない/書けないでも活躍できる
717 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/30(月) 01:03:31 .net] >>707 ,716 みんなでシェルなんて書いても無意味だろ 長い歴史で何種類シェルが生き残ってるよ そんなものはボーンを種に使いこなせればOKで 自分でシェルを書くなんてハンダゴテつかって 半導体からマシンを組むくらいのバカ
718 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/30(月) 19:59:12 .net] 俺はWindows XPタンに忠を尽くす。 お前達はどうだ?
719 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/31(火) 02:01:15 .net] >>718 Vista が出たらどうするの?
720 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/01(水) 04:26:15 .net] >>717 この手の突っ込みはもう秋田よ
721 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/01(水) 10:20:11 .net] >>720 君がレスを付けたせいで、いまごろ >>717 は大喜びだぜ。
722 名前:名無しさん@お腹いっぱい。 [2006/11/08(水) 00:05:11 .net] >>716 でもインフラもPerlぐらい使えたほうがいいと思うよ。 おれも全部シェルでかいたけどさ。 Perlが使えればもっとスマートに書けたんだけどな。 現場でなにやらされるかはわからないからさ。 言語にはそれぞれ向き不向きがあるからさ。
723 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 07:02:55 .net] 割といると思うけどな。
724 名前:高野光弘問題 [2008/06/11(水) 23:17:21 .net] takano32,TAKANO Mitsuhiroこと高野光弘(日立製作所社員、日本UNIXユーザ会幹事)が、 自身の『32nd diary』で公然と日立の機密を開示し、障害者差別発言をしている問題。 1981年11月12日 千葉県のディズニーランドのそばで誕生 2001年4月1日 千葉大学に入学 2005年4月1日 千葉大学大学院へ進学、日本UNIXユーザ会に入会 2007年4月1日 日立製作所に入社、神奈川県秦野市の寮へ 2007年8月22日 「ついに職場で人が倒れた」と公表 2007年11月13日 「情報漏えい」を言う上司に「死んだほうがいいよ」と暴言 2007年12月28日 「社内システムクソうんこ」と発言し、仕組みも暴露 2008年5月23日 機密漏洩問題について一応の謝罪 2008年5月26日 「給料泥棒とかうんぬん言われた」と謝罪を忘れて告白 2008年5月27日 「心バキバキ川田くん」と前日の発言者の名前を公言 2008年5月31日 「キチガイ」と日立のユーザーに障害者差別発言を連発 2006年10月27日(日立製作所に入社前に忠告されたこと) 「日記やコメントの投稿日時から勤務時間に業務外のことをしていることが判明」は 某社の某親会社が 2ch で祭られたように、NG です。 6月も勤務時間中に更新し続ける高野光弘君の『32nd diary』にツッコミをどうぞ
725 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/12(木) 18:41:17 .net] ▲ ▲▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲▼ ▼▲▼ ▲▼▲ ▲▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲ ▲▼ ▼▲▼ ▼
726 名前:高野光弘事件 [2008/06/18(水) 01:14:49 .net] takano32,TAKANO Mitsuhiroこと高野光弘 (26歳、日立製作所エンタープライズサーバ事業部(秦野地区)社員、日本UNIXユーザ会幹事)が 自身の『32nd diary』で公然と日立の機密を開示し、障害者差別発言をしている問題が、とうとう事件になった模様。 2chで祭られて、さらに自分から燃料投下するなんて。誰か彼の凶行を止めてくれることを願って張ります。 2008-6-14 予告 心バキバキ川田くんを殺します。 2008-6-15 日本の警察をみた。いつも行動力がないと言われている日本の警察ですが、今日は変な行動力をみた。 理不尽で半端な行動力なので、もう少しガイドラインを固めないとダメだと思った (現場の人は悪くないので、上がきちんとしろ、という意味)。 予告.in 予告.out 事情を話し、くだんの書き込み元IPアドレスなどを回答した。 理不尽なのは、あなたが公然と書いた「殺します」、「死んだほうがいいよ」、「クソ」、「うんこ」、「バカ」、「キチガイ」という発言と、 公共の場で自分から個人情報と機密を公開しているのに、文句を言うということなのではないでしょうか? 1946年12月19日生まれのお母さん、釣りが趣味のお父さん、二人のお姉さん、高校の同級生で漫画家の鈴木健也さん、どうか彼を止めてください。 日立グループの方、日本UNIXユーザ会の方、公益のためにもお願いします。 誰か『32nd diary』での高野光弘君の凶行を止めてください。
727 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/26(木) 12:01:11 .net] ネットワークエンジニアだけど、一切できない。 ググりながら見よう見まねでシェルスクリプトを書く程度。 perlぐらいできたら便利だろうなと思う。 でもめんどいから勉強しない。
728 名前:名無しさん@お腹いっぱい。 [2008/07/01(火) 01:06:37 .net] 僕プログラミングできません
729 名前:名無しさん@お腹いっぱい。 [2008/07/04(金) 21:33:28 .net] #!/bin/sh echo "Hello World"
730 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/05(土) 14:09:49 .net] #!/bin/shとか#!/usr/bin/perlなどの事を何と呼ぶの?
731 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/05(土) 20:18:47 .net] スクリプト・プロセッサとでもいうのがいいのか。 プログラムって、コマンドラインを集めただけのも バッチプログラムっていうくらいだから、そもそも出来ないって いうのが信じられないのだけど。 段取り仕事が出来ないってならわかるが。
732 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/05(土) 23:45:09 .net] 俺定義でプログラムを拡大解釈するならそりゃそうだろが、 その手の仕事やってりゃ2行のバッチぐらいアホでも書けるが そんなのまで「プログラム」ってことにして何になるんだよ
733 名前:名無しさん@お腹いっぱい。 [2008/07/06(日) 13:51:41 .net] コボルなら出来るけどCやjavaは出来ない。vbはあまり自信ないが出来るかも? shellやSQLなら少しは出来る。
734 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/06(日) 13:54:21 .net] おいらは solaris なシステムを触っている(保守してる)人だけど,別にプログラムは書けんよ. sh だの awk だのってスクリプトなら書けるけど. ちょろちょろ php だの erlang だの elisp を読んだりてのは出来るけど,本格的なのは正直サパーリ. それでもなんとかなってるから,まぁなんとかなるんでないかね. そんなんでもライブラリだのなんだのって gnu な環境を自分で整えたりせなならんから,プログラマ程ではないにしろ,基礎的な知識は嫌でもつく様になるでそ.
735 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/06(日) 15:00:30 .net] イライライライラ
736 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/06(日) 15:19:24 .net] 何を持ってプログラムというかって話になると、 プログラム電卓ってことばすら不毛の議論に 巻き込んじゃうからだめでしょ。 あらかじめ、人間が定義した処理形態に落としこめば 配線すらプログラムという(プログラマブルなんたらという 能動素子から集成した機材の類まで)くらいなんだし。 まあ、"Unix 使いなのに C でなんかの仕事がこなせる コードが書けない奴”ってスレタイなら、俺も半分手を あげることにするよ。 core吐いた時に原因探して直す 位はしないとやってらんない・・・そんな程度しかやってない。
737 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/09(水) 00:14:27 .net] CでもC++でもJavaでもHello world 書けるから俺はプログラマだ
738 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/11(金) 00:27:56 .net] public class afo { public static void main(String[] args){ System.out.println("Hello World"); } } Cはしらね
739 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/21(土) 19:25:46 .net] おまえら! N88ベーシックの時代を思い出せ! 使ってるだけじゃだめなんだよ! 利用者全員がプログラマーにならなきゃ世の中は良くならない! そうだろうみんな!!
740 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 01:24:22 .net] できなくても困らん時代になったからな
741 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/06/13(日) 01:26:19 .net] プログラム書けないならコンピュータ使っても楽しくないでしょ 免許持ってないのに家族が車を買う話に参加してる時みたいな
742 名前:名無しさん@お腹いっぱい。 [2011/02/19(土) 10:20:34 .net] プロンプト用プログラムで、 処理時間がかかるルーチンを実行中に 何かキーボードが押されたらその時点での進行状況を表示、または中断、 という仕様を要求されました。 getchar()では、キーを押すまで帰ってこないし、 そもそもgetchar()を呼んだタイミング以外でもキーに反応しなければならないので 無理だということはわかりました。 こういうのは割り込みを使うそうですが、調べると、 キーボードはIRQ1を使っていることはわかりました。 C言語で、IRQ1を読み込んでプログラムを分岐させる?のは どうすればいいか、誰かわかります?
743 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/02/19(土) 11:08:54 .net] 割り込みベクター(プロテクトモードだったらIDT)にハンドラーを セットすればCPUが勝手に呼んでくれます。 割り込みハンドラー(の入り口)はアセンブラじゃないと書けませんけど。
744 名前:名無しさん@お腹いっぱい。 [2011/02/19(土) 21:45:53.62 .net] >>743 ありがとうございます。IRQ1を読み込むプログラムは未作成ですが、 その前に問題が発覚してしまいました。 サーバーにリモートログインしている状態では、たとえIRQ1を読み込んでも、 ログイン元のキーボードには反応しないことがわかりました。これだと使えません。 このような場合にも、キーボードに即座に反応するプログラムというのは、 どう書けばいいでしょう?
745 名前:名無しさん@お腹いっぱい。 [2011/03/03(木) 21:32:15.57 .net] >>744 ・キー入力を監視するプロセスかスレッドを立ち上げる。 ・キー入力があったら大元のルーチンを処理している プロセス/スレッドにシグナルを送る。 ・シグナルハンドラで進行状況を表示し、中断するか否かの プロンプトを表示する。 こんなので大丈夫かな?
746 名前:名無しさん@お腹いっぱい。 [2011/03/03(木) 22:47:10.55 .net] kbhitって環境依存?
747 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/03/03(木) 23:26:13.86 .net] solarisプログラミングスレとマルチで賞味期限の切れた質問に 必死で回答するのは何故? 暇なの?
748 名前:745 mailto:sage [2011/03/03(木) 23:38:42.78 .net] 必死じゃないけど暇なのは確かw ていうか、日付見てなかった。 どんだけ亀だよorz
749 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/21(木) 17:32:09.33 .net] 頑張っています
750 名前:名無しさん@お腹いっぱい。 [2011/04/22(金) 18:37:34.77 .net] chroot /ディレクトリ コマンド でルートディレクトリを変更するみたいなノリで、 chdate 日付時刻 コマンド とやって、chdate環境で起動したコマンドとその子プロセスのみ、 本来の時刻と違う時刻環境にする、というのをやれと上司から言われてるんですが、 この chdateコマンドをC言語でプログラムするにはどうしたらいいでしょう? どこかにすでにソースがあったりしますか?
751 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/27(水) 20:08:23.45 .net] LD_PRE_LOADでgettimeofdayをすり替える。
752 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/05/17(火) 02:07:42.44 .net] プログラミングできなくても普通に使えるでしょ
753 名前:名無しさん@お腹いっぱい。 [2011/06/01(水) 22:00:05.45 .net] PC−UNIXではユーザ=計算センター長なんだからCより先ずシェルスクリプト開発が本筋だと思う
754 名前: 忍法帖【Lv=2,xxxP】 [2011/06/01(水) 23:00:08.39 .net] Cを最初に習ったもんで、構造化プログラミングしか分からないで今に至る func main{ sub func foo() sub func bar() ... } sub func foo(){} sub func bar(){} ... というふうに。 特にこういう書き方で困ってないけど、もっとかっこいい書き方あるのかな?
755 名前: 忍法帖【Lv=1,xxxP】 mailto:sage kani? [2011/06/02(木) 00:49:34.57 .net] >>753 あなたのところの計算センター長はシェルスクリプト開発をしてるんですか?w
756 名前:名無しさん@お腹いっぱい。 [2011/06/24(金) 22:07:33.13 .net] >>751 LD_PRE_LOADとか恥ずかしい知ったかぶりする前にmanページ嫁
757 名前:名無しさん@お腹いっぱい。 [2011/06/24(金) 22:54:04.93 .net] 開発メインより鯖管のほうが多いだろ Unix使ってて鯖管出来ない方が恥ずかしい
758 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/09(土) 16:44:54.38 .net] wgetから書き込み
759 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/10(日) 01:19:25.81 .net] Rubyでプログラミングが必要な作業は大体カバーできる。 他人のコードも読みやすいから勉強もしやすい。 オブジェクト指向の知識も身に付く。 GUIが必要なものはRubyGtkとかで書けばWindowsでもLinuxでも動くし。 Rubyのおかげでプログラミングに対するアレルギーはなくなったし、 作業時間を節約できるようになった。
760 名前:ザリガニ料理人 mailto:sage [2011/07/11(月) 16:26:42.39 .net] MacでFortranいじってますがUNIX使いと名乗ってよろしいでせうか
761 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/12(火) 21:49:02.54 .net] 全然駄目だろ
762 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/07/14(木) 20:47:44.63 .net] >>757 Unix使う境遇にありながら鯖管じゃないというケースがほとんどないので、 Unix使ってて鯖管出来ない人間はまず居ないから話題にならない。 Unix使っててプログラミングできない者は時々居るので、馬鹿にされるw
763 名前:名無しさん@お腹いっぱい。 [2011/10/26(水) 10:28:34.06 .net] init_window() -- 100x100の、バックが白のウィンドウを作成(座標固定でOK) pset(x, y) -- そのウィンドウのx,y座標に黒のドットを描画(x,y = 0〜99) 上記2つの関数だけを単純にX Window Systemで実装して欲しいのですが、できますか? できればツールキットを使わずに、Xlibだけでお願いします。
764 名前:763 mailto:sage [2011/10/27(木) 11:39:14.75 .net] 済みません、提出今月中なので、今月中にお願いします。
765 名前:名無しさん@お腹いっぱい。 [2011/10/27(木) 11:56:01.62 .net] このスレ懐かしい logsoku.com/thread/pc.2ch.net/unix/995637081/
766 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/05(土) 21:27:28.88 .net] Display *dpy; Window w; void init_window() { unsigned long white = WhitePixel(dpy, DefaultScreen(dpy)); w = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0, 100, 100, 0, white, white); } void pset(int x, int y) { XDrawPixel(dpy, w, x, y); }
767 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/05(土) 21:44:47.50 .net] >>766 すみません、#include <X11/Xlib.h> を追加して、 -lX11 を付けてコンパイルしましたが、 undefined reference to `XDrawPixel' となっちゃいます。
768 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/06(日) 22:26:09.73 .net] Display *dpy; Window w; GC gc; void init_window() { int screen = DefaultScreen(dpy); unsigned long white = WhitePixel(dpy, screen); unsigned long black = BlackPixel(dpy, screen); w = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0, 100, 100, 0, white, white); gc = XCreateGC(dpy, w, 0, NULL); XSetForeground(dpy, gc, black); } void pset(int x, int y) { XDrawPoint(dpy, w, gc, x, y); }
769 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/06(日) 22:37:51.87 .net] >>768 main()関数を追加して init_window(); と pset(50, 50); だけ呼んでみたところ、 ウィンドウは出ずにセグフォしました><
770 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/06(日) 23:07:33.73 .net] #include <X11/Xlib.h> Display *dpy; Window w; GC gc; void init_window() { int screen; unsigned long black, white; dpy = XOpenDisplay(NULL); screen = DefaultScreen(dpy); white = WhitePixel(dpy, screen); black = BlackPixel(dpy, screen); w = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0, 100, 100, 0, white, white); gc = XCreateGC(dpy, w, 0, NULL); XSetForeground(dpy, gc, black); } void pset(int x, int y) { XDrawPoint(dpy, w, gc, x, y); } int main() { XEvent evt;Atom atom; init_window(); atom = XInternAtom(dpy, "WM_DELETE_WINDOW", 1); XSetWMProtocols(dpy, w, &atom, 1); XSelectInput(dpy, w, ExposureMask);XMapWindow(dpy, w); while ( 1 ) {XNextEvent(dpy, &evt); switch ( evt.type ) { case Expose: pset(3, 3);break; case ClientMessage: if ( evt.xclient.data.l[0] == atom ) { XFreeGC(dpy, gc);XDestroyWindow(dpy, w); XCloseDisplay(dpy);return 0;}}}}
771 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/07(月) 06:41:54.67 .net] >>770 すみません、main()からは init_window() と pset() しか呼ばない、 X側で必要な処理は init_window()とかの中で行う、ということでお願いします。
772 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/07(月) 13:29:43.14 .net] ワロタw
773 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/07(月) 17:05:14.35 .net] #include <X11/Xlib.h> Display *dpy; Window w; GC gc; void init_window() { int screen; unsigned long black, white; XEvent evt; dpy = XOpenDisplay(NULL); screen = DefaultScreen(dpy); white = WhitePixel(dpy, screen); black = BlackPixel(dpy, screen); w = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0, 100, 100, 0, white, white); gc = XCreateGC(dpy, w, 0, NULL); XSetForeground(dpy, gc, black); XSelectInput(dpy, w, ExposureMask); XMapWindow(dpy, w); do XNextEvent(dpy, &evt); while (evt.type != Expose); } void pset(int x, int y) { XDrawPoint(dpy, w, gc, x, y); XFlush(dpy); }
774 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/07(月) 17:23:10.92 .net] >>773 できました!!!ありがとうございます!!! これでレポートが出せます。
775 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/11/07(月) 23:42:57.59 .net] あーあー、人にレポート頼んじゃって その代わりとして、>>774 は「2点間(x1,y1)から(x2,y2)に直線を引く」line(x1,y1,x2,y2)を 「psetを使って」実装すること
776 名前:名無しさん@お腹いっぱい。 [2012/03/08(木) 20:40:36.99 .net] 質問です 子プロセスをfork()/exec()したあと、wait()してくれない親プロセスがあります。 なので、子プロセスが終了するとゾンビになり、子プロセス終了のたびに ゾンビがたまっていきます。 親プロセス側でsignal(SIGCHLD, SIG_IGN)すればゾンビにならないことは確認済み ですが、都合により親プロセス側のプログラムを修正できません。 子プロセス側で何とかして、exit()してもゾンビにならないようにする方法は ありませんか?
777 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/08(木) 21:28:19.75 .net] 子プロセスで、もう一度forkしfork() > 0の方はexitする。 これで親に対して縁切り宣言し、initの子に養子縁組されるので確実にwaitしてもらえる。
778 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/08(木) 21:30:10.12 .net] ああ、fork() > 0の方がゾンビで残るわ。ダメだね。
779 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/08(木) 21:31:31.31 .net] >>777 それはすでに試しました。 それやると、目的の子プロセスはゾンビになりませんが、 中間でダミーでfork()するプロセス自体がゾンビになるので、 ゾンビを一切発生させたくないという目的の解決にはなりません。 引続き回答をお願いします。
780 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/08(木) 21:47:41.27 .net] 結論: 親を何とかしないと無理。LD_PRELOADでコード潜り込ませるとか。
781 名前:名無しさん@お腹いっぱい。 [2012/06/13(水) 21:00:39.33 .net] 組み込みマシンの出力ポート側の都合でインバーター1個追加になったんで、 プログラム側でポートの論理反転でお願い、って頼んだら、 え?なに? インベーダー? って聞き返された。 インバーターだよ、インバーター、って回路図見せたら、 あっこれ、見たことある。ダイオードって言うんだっけ? とか言われてハァ?w なんだよ。確かに三角形だけどな。 ソフト屋でもインバーターとか最低限のハード知識身に付けとけ。 UNIX屋ってこれが普通ですか?
782 名前:名無しさん@お腹いっぱい。 [2012/06/13(水) 21:45:46.59 .net] 計測/制御にUNIXを当てているなら普通 DI/DOインターフェース、みたいなw
783 名前:名無しさん@お腹いっぱい。 [2012/07/25(水) 13:06:29.15 .net] dup()等でfd複製したあとfork()して、親も子も同じfdをオープンし続ける場合、 子側からfdを親から独立させることってできない? そのままじゃlseek()した時とかのポインタが親と共有なので独立じゃないし。 fdからファイル名を逆探知してopen()し直すのはナシの方向で。 あと、親プロセス側のコードもいじれないという前提。
784 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/07/25(水) 20:07:27.33 .net] 今時フロッピーのプログラムは実機持ってない人の方が多いんじゃないかな
785 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/07/26(木) 06:31:36.04 .net] すみませんが詳しい方のみ回答をお願いします
786 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/07/26(木) 09:30:28.99 .net] >>783 UNIXが作られてから40年。 その機能が無いってことは、誰も必要としなかった、すなわちお前の アプローチが間違っているという事。別の方法を考えるべし。
787 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/07/26(木) 10:01:34.11 .net] >>783 小プロセス上でそのfdをもう一度dup2して、もとのfdをcloseすれば良い。
788 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/07/26(木) 11:18:33.53 .net] >>787 すみませんが詳しい方のみ回答をお願いします
789 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/07/26(木) 12:08:44.67 .net] 子プロセス上でそのfdをもう一度dup2してもとのfdをcloseしてから、 もう一度forkしてその親側をexitすれば良い。
790 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/07/26(木) 12:37:17.01 .net] >>789 すみませんが詳しい方のみ回答をお願いします
791 名前:783 mailto:sage [2012/07/26(木) 13:48:46.91 .net] 皆さんありがとうございました。 今環境がないので後日試してみます。
792 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/07/26(木) 18:25:52.05 .net] そりゃフロッピーがある環境なんて手元にはないだろな
793 名前:783 mailto:sage [2012/07/27(金) 16:07:37.73 .net] >>789 その方法でうまくいったみたいです。ありがとうございました。
794 名前:名無しさん@お腹いっぱい [2012/11/08(木) 03:43:44.99 .net] メソッド
795 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/22(木) 21:34:21.21 .net] ある関数に渡された可変長引数を、別の関数に転送したいのですが書き方がわかりません 具体的にはC言語の関数のhoge()をhoge(a,b,c,d,…)で呼び出すと,内部で別の関数funcを引数a,b,c,d,…で呼び出すような場合です. 引数の数が固定であればhoge(a,b,c,d)の中にfunc(a,b,c,d)と記述すれば良いのですが,可変長に対応しようと...を用いると hoge(...)の中にfunc(...)と記述してもエラーになり,引数展開されません. どなたかわかる方がいましたら,ご教授ください.
796 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/25(日) 10:12:32.72 .net] 引数がマルチだからってマルチですか 面白いですな
797 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/25(日) 10:45:34.93 .net] 面白くはないね。
798 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/25(日) 20:48:34.77 .net] void func(int a, va_list ap) { int b = va_arg(ap, int); int c = va_arg(ap, int); int d = va_arg(ap, int); } void hoge(int a, ...) { va_list va; va_start(va, a); func(a, va); va_end(va); } これでわかるかな?
799 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/25(日) 20:51:29.29 .net] >>798 不正解。 それだと func()をva_argで呼び出すことになるからダメ。 func()自身も引数の個数が不定で、func(a,b,c)だったり、func(a,b,c,d,e)だったり するものという想定だから。
800 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/20(木) 21:46:33.22 .net] セグメンテーション違反がソースではなく、コンパイルに問題にあって発生 している場合 どうしたら実行できますか
801 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/12/21(金) 09:04:27.71 .net] 何言ってんだ。
802 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/03/23(土) 16:38:58.24 .net] 先日、他部署を交えて開かれた社内技術交換会でのこと。 先輩は自分が担当したパッケージソフトのプログラミング中に思いついたという あるアルゴリズムについて得意気に解説し始めた。話し始めてしばらくして、 隣の部署の人が口をはさんだ。「それ、有名な○○のアルゴリズムですよね。 ウチでも昔はよく使いました。でもそれには××という欠点があるので、 今ではその改良版の◎◎のアルゴリズムの方を使っています。 ところで今日のお話は○○のアルゴリズムの別の改良方法か何かですか?」 そのあと先輩の話は支離滅裂になり、何の技術交換会だったのか よく覚えていない…
803 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/08/01(木) NY:AN:NY.AN .net] LinuxとBSDで開業コード違いますよね。 Linuxは0xnで改行、BSDは0xrで改行しますよね。 どうしてこういう違いができたんでしょう? シーゲンで簡単に返還する方法はありますか?
804 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/09/10(火) 19:27:23.38 .net] >>803 見てるかな? マクロ定義で変換するのが基本だYo(w #ifdef LINUX #define CRLF 0xn #elif BSD #define CRLF 0xr #else //Windows #define CRLF \x0d\x0a #endif
805 名前:名無しさん@お腹いっぱい。 [2013/09/14(土) 17:51:53.43 .net] 質問です。 共有ライブラリのダイナミックシンボルを実行時に解決する際、 プログラムのtext部分は原則書き換え不可なので、 data部分のみ書き換えて対応しますよね。 実際、関数呼出しについてはdata上の番地を一旦呼んで そこから間接ジャンプするようになってます。 問題は、extern char *hoge[] みたいなデータが共有ライブラリ側にあって それをプログラム側から hoge のシンボルで参照する時です。 コンパイル結果では、hogeのアドレス値はイミーディエイトでレジスタにロード されているようで、これではシンボル解決の際に命令コードのイミーディエイト部分、 つまりtext部分を書き換えないといけないことになってしまいます。 それはおかしいと思いますが、実際にはどうやっているのでしょうか?