aid-u の回答履歴
- sscanfより速い方法について。
ただいま、テキストから書式付のデータを取得するコードを 書いております。 しかし、異常にその処理が遅いので、原因を調べてみると どうやらsscanfが原因らしいということが分かりました。 問題の箇所は以下のようになっております。 char*textBuf = NULL ・・・ (textBufにテキストの内容をロード) ・・・ for(int i=0;i<vertexNum ;++i ) { float x, y, z;/*頂点座標になります*/ /*どうやらココが遅いようです。*/ sscanf( textBuf, "%f %f %f", &x, &y, &z ); vertexs_.push_back( Vector3(x, y, -z) ); textBuf = nextLine(textBuf);/*次の行に進みます。*/ } テキストには座標が格納してありそのフォーマットは 0.0 1.4 5.4 7.1 4.2 2.3 ・・・ のようになっております。 上記の方法では5000頂点の取得に12sec近くかかり とても使用に耐えられません。 何か解決方法をご存知の方がいらっしゃいましたら ご教授よろしくお願いします。
- ベストアンサー
- C・C++・C#
- qatatatfds
- 回答数7
- LDAPのdnの指定方法について
LDAPを始めて構築している者です。 ユーザ情報を管理するために、openLDAPをインストールしました。 インターネット上にa-company.co.jpというドメインを持っているとします。 dnの指定に、以下の例1ように"dc"属性を用いるのでしょうか。それとも、例2のように"c"属性を用いるのが一般てきなのでしょうか? 例1 dn: ou=people,dc=a-company,dc=co,dc=jp 例2 dn: ou=people,o=a-comapny,c=jp またユーザ情報の管理にinetOrgPersonというObjectClassを使用したいと考えています。 そのため、私自身は、例1を採用したいと思っています。 例1では何かデメリットはありますでしょか? もし例2が一般的な場合、"c"属性を利用するためには、 countryという別のOjectClassを継承する必要があるようです。 以下のように記述するとldapaddする際に異なった種類のオブジェクトを追加できませんというようなエラーが出てしまいます。 dn: uid=xx,ou=people,dc=a-company,dc=co,dc=jp ClassObect: inetOrgPerson ClassObect: country uid: xx 例2が一般的な場合inetOrgPersonとcountry を併記するldifの記述方法はあるのでしょうか? もしあれば教えて頂けると幸いです。 LDAPの構築経験がある方、ぜひご教授お願いいたします。 よろしくお願い致します。
- UNIXとLinuxのコマンドは同じ?
例によって、12月で派遣契約を打ち切られた者です。 そこで次はネットワーク系の仕事に入りたいと思うのですが、未経験なので、UNIXのコマンド等を勉強したいと思っております。 Linuxは簡単に手に入ったので、自宅のPCにインストールしたのですが、Linuxのコマンドを覚えれば、そのままUNIXでも使えるのでしょうか。 あるいは面接で、Linuxのコマンドを知っていると言えば、UNIXも使えると認識してもらえるのでしょうか。 よろしくお願いします。
- シンボルの解釈処理エラー
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/545.zip 上記のプログラムをコンパイルした所、以下のエラーが出て来ました。 javaを始めたばかりで、直し方が分かりません。 どなたか教えてもらえないでしょうか。 1.J120902のエラー kaguhls4% J120902.java:17: ';' がありません。 private enum Emode {sin.cos}; ^ J120902.java:17: シンボルを解釈処理できません。 シンボル: クラス enum 位置 : J120902 の クラス private enum Emode {sin.cos}; ^ J120902.java:18: シンボルを解釈処理できません。 シンボル: クラス Emode 位置 : J120902 の クラス private Emode mode=Emode.sin; ^ J120902.java:50: シンボルを解釈処理できません。 シンボル: メソッド setPreferredSize (java.awt.Dimension) 位置 : J120902 の クラス this.setPreferredSize(new Dimension(1200,400)); ^ J120902.java:88: シンボルを解釈処理できません。 シンボル: 変数 BLUE 位置 : java.awt.Color の クラス g.setColor(Color.BLUE); ^ J120902.java:90: シンボルを解釈処理できません。 シンボル: 変数 RED 位置 : java.awt.Color の クラス g.setColor(Color.RED); ^ エラー 6 個 2.J120905のエラー kaguhls4% J120905.java:77: シンボルを解釈処理できません。 シンボル: メソッド setPreferredSize (java.awt.Dimension) 位置 : J120905 の クラス this.setPreferredSize(new Dimension(kPanelSize,kPanelSize)); ^ エラー 1 個
- 仕様書はどんなソフトウェアを使って書いていますか
以前SEをやっていたときは、Excelで仕様書を書いていました。マス目を駆使して作っていたのですが、結構大変でした。 転職後、しばらくソフトウェア開発などからは離れていたのですが、またソフトウェアと関わるような仕事を担当することになりました。海発は行わないのですが、ある程度の仕様書はこちらで書く予定です。そこで仕様書を書くのにExcel以外で何か便利なツールはないかなと思い質問させて頂きます。ソフトウェアに対してのお金はMS Office Proくらいの金額であれば出せます。よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- mellow91
- 回答数6
- grepコマンドについて
以下のシェルプログラムのout_fileの内容が0バイトファイルになって しまいます。理由について教えて下さい。よろしくお願いします。 while read param do grep ${param} in_file > out_file done < "search_file" ここでsearch_fileは -e "bbb" -e "ddd" in_fileは aaa bbb ccc ddd eee です。 因みにsearch_fileを -e bbb -e ddd とすると out_fileは期待通り、 bbb ddd となります。
- ベストアンサー
- その他(プログラミング・開発)
- taka394
- 回答数3
- ビッグエンディアンをPCで処理する問題
ビッグエンディアンと指定されているバイナリファイルがあります。 これをPC(intel系,Linux or Windows)で処理する場合、エンディアンの変換が必要だろうと思います。具体的にはどのようにするのでしょうか。ネットでもダウンロードできそうですが。 変換コマンド -btol ファイル名(ビッグ)> ファイル名(リトル) という感じですかね。こんなものあるでしょうか。 購入したバイナリファイルなのですが、このご時勢たいていPCで処理するわけでしょうからリトルであってほしいものだと思いますが。 ところでMACはビッグとリトルのどっちなのでしょうか。
- 締切済み
- その他(プログラミング・開発)
- skmsk19410
- 回答数6
- プログラミングを始めたい
現在高校の理数科に通っている者です。 趣味の1つとしてプログラミングを始めようと思っています。 一応P検3級はもっているので、PCの基礎の基礎の知識はあります。 ですがプログラミングについては全くの初心者です。 そこで質問なのですが、数あるプログラミング言語(?)のなかで、特にオススメはどれでしょうか? また、オススメの参考書を教えて下さい。 個人的にはC++に挑戦したいのですが難しいでしょうか?
- 締切済み
- その他(プログラミング・開発)
- xsai1
- 回答数13
- 突然、内部から繋がらなくなった
CentOS5.2で自宅サーバーを運用しようとしています。 ttp://centossrv.com/bind-centos5.shtml ↑を参考にBINDで内部向けDNSを構築しました。 (他の設定も全てこのサイトを参考にしています) 昨日確認した時点では、正しく内部から接続できており、 apacheとpure-ftpd、plumを起動した状態で就寝したのですが 今朝起きてみるとplumに繋いでいたIRCクライアントが切断されており、 ftpにも繋がらずWebページも表示できない状態になっていました。 自分なりに切り分けした結果、 ・現在のグローバルIPでも繋がらない ・外部(携帯)からはWebページが見える ・プライベートIPだとftp、http、plumともに繋がる と言うことから内部向けDNSに問題があるのでは?と思ったのですが 何処をどう見れば原因を探れるのかが解らず、質問させていただきました。 一応、BINDの再起動、サーバーの再起動も行いましたが変化無しです。 回答お待ちしております、よろしくお願いします。
- 締切済み
- Linux系OS
- noname#81969
- 回答数2
- プログラム構造化設計の問題について
プログラム構造化設計の問題がどうしてもわからなくて困っています…ずっと考えているのですが…。 願書データ入力→応募ファイル更新→応募登録確認処理 という一連の流れを、モジュール分割してプログラム構造図・IPO図を作成するという問題なのですが、 応募登録という全体の作業の、どこをどう分割すればいいのかわかりません。入力と参照以外に何があるのでしょうか… 無知ですみません、よろしければヒント等お願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- qxqx96
- 回答数3
- ネットワーク切断時のシグナルは?
ちょっと試せば分かるのでしょうが、試せる環境が無いのでご存知の方がおられましたらお知恵を貸してください。 Solarisが稼働中にネットワークケーブルが抜けた場合などネットワークの切断が発生した場合、それを検出して発生するシグナルはあるのでしょうか?(SIGURGあたりでしょうか??)
- ベストアンサー
- Solaris系OS
- monmo__
- 回答数2
- C++でfprintfやprintf,fopenなどを使うのは好ましくない?
今までCは多少慣れがあり、一方でC++はごく最近始めました。 CとC++でパッと見明らかに違うのが入出力の関数とストリームだと思うのですが どうも私的にはCで使いっていたfprintfなどが使いやすいと思ってしまいます。 実数の表示の小数点以下の桁の指定とか、fprintf("xxxx%.3f")としたほうが ラクチンではないでしょうか? ただEffective C++などを見た感じC++ではC++のやり方のほうが良い とか書いてあってやはりそういうもんなのかなぁと。 それなら多少C++の利便性を切り捨ててでもCでやるかなぁと 思ってしまうのですが。。。 アドバイスいただけたら幸いです。お願いいたします。
- 低次元なコーディング方法について
私は一通り書籍でC言語の基礎を勉強しただけの初心者プログラマです。 もっと実力を付けるためにアルゴリズム関連の書籍をいくつか読み始めました。 これならソースを読む力も一緒に鍛えられると思ったからです。 その中で素数を表示するプログラムに興味を持ち自力で一から組んでみました。 (途中でどうしても分からず参考にする部分もあったのですが…) 私のコーディング手順は 1.UMLのアクティビティ図で大まかな処理を確認する。 2.if文だけで一通りの処理を記述。 3.while文を使って繰り返しの処理を追加する。 4.何度もうまくいかずにそのたびに修正していく。 というものです。 1.の部分は大量に書籍が出ているので勉強できるのですがUMLの性質上 それをコーディングしていく解説はどうしてもCのソースを書くこととは次元が違うようです。 かなり低次元なことだからでしょうか、解説している本にも出会えません。 前置きが長くなりました。 今回教えていただきたいのは ・アクティビティ図などで記述したものをソースコードに落とし込む というかなり低レベルな部分での方法です。 私はオブジェクト指向はまだ勉強していないので Cでその過程などを書いていただけると幸いです。 どうやったらgoto文やフラグを使わずにソースを書けるか、 コツなどあったらぜひ教えてください。 アドバイスの参考になればよいと思い、私が書いた素数表示プログラムの一部を紹介させていただきます。 /**********************************************************/ /* 素数を格納する配列を受け取り最後に-1を格納する関数 */ /* 効率的な演算のために乗除演算回数を表示もおこなう */ /**********************************************************/ #define END (-1) #define MAX 1000 void prime_assess(int a[]) { int j=0; //ループ用のカウンタ int x=3; //検証値 int element_no=1;//配列の中の素数の個数 int arithmetic_no=0;//乗除演算回数 while(x<MAX){ j=0; arithmetic_no++; while(x % a[j] !=0 && a[element_no-1] != x){ arithmetic_no++; if(a[j]-a[j] >= x){ a[element_no++] = x; }else{ j++; } } x += 2; } a[element_no] = END; printf("乗除演算回数は%dでした。\n",arithmetic_no); } 先ほどの1~4のプロセスで作りました。 できるだけ無駄な演算を避けてみたつもりですがいかかでしょうか。 フラグなどを避けるよう、かなり時間をかけて書いたプログラムです。 乗除演算回数はおそらく2636回になっています。 自分以外の方にソースを見ていただける機会がないものですから、 これはおかしいぞというところも書いていただけたらうれしいです。 皆様からのアドバイスをお待ちしております。
- 低次元なコーディング方法について
私は一通り書籍でC言語の基礎を勉強しただけの初心者プログラマです。 もっと実力を付けるためにアルゴリズム関連の書籍をいくつか読み始めました。 これならソースを読む力も一緒に鍛えられると思ったからです。 その中で素数を表示するプログラムに興味を持ち自力で一から組んでみました。 (途中でどうしても分からず参考にする部分もあったのですが…) 私のコーディング手順は 1.UMLのアクティビティ図で大まかな処理を確認する。 2.if文だけで一通りの処理を記述。 3.while文を使って繰り返しの処理を追加する。 4.何度もうまくいかずにそのたびに修正していく。 というものです。 1.の部分は大量に書籍が出ているので勉強できるのですがUMLの性質上 それをコーディングしていく解説はどうしてもCのソースを書くこととは次元が違うようです。 かなり低次元なことだからでしょうか、解説している本にも出会えません。 前置きが長くなりました。 今回教えていただきたいのは ・アクティビティ図などで記述したものをソースコードに落とし込む というかなり低レベルな部分での方法です。 私はオブジェクト指向はまだ勉強していないので Cでその過程などを書いていただけると幸いです。 どうやったらgoto文やフラグを使わずにソースを書けるか、 コツなどあったらぜひ教えてください。 アドバイスの参考になればよいと思い、私が書いた素数表示プログラムの一部を紹介させていただきます。 /**********************************************************/ /* 素数を格納する配列を受け取り最後に-1を格納する関数 */ /* 効率的な演算のために乗除演算回数を表示もおこなう */ /**********************************************************/ #define END (-1) #define MAX 1000 void prime_assess(int a[]) { int j=0; //ループ用のカウンタ int x=3; //検証値 int element_no=1;//配列の中の素数の個数 int arithmetic_no=0;//乗除演算回数 while(x<MAX){ j=0; arithmetic_no++; while(x % a[j] !=0 && a[element_no-1] != x){ arithmetic_no++; if(a[j]-a[j] >= x){ a[element_no++] = x; }else{ j++; } } x += 2; } a[element_no] = END; printf("乗除演算回数は%dでした。\n",arithmetic_no); } 先ほどの1~4のプロセスで作りました。 できるだけ無駄な演算を避けてみたつもりですがいかかでしょうか。 フラグなどを避けるよう、かなり時間をかけて書いたプログラムです。 乗除演算回数はおそらく2636回になっています。 自分以外の方にソースを見ていただける機会がないものですから、 これはおかしいぞというところも書いていただけたらうれしいです。 皆様からのアドバイスをお待ちしております。
- コマンドライン上で確定した文字を表示させない方法(Linux)
コマンドライン上で自分が入力、確定した文字を 表示させない(残さない)ようにできる関数やコマンドはありませんか? 具体的には fgetsで入力→printfで表示 という流れで fgetsで入力した文字がエンターキーで確定した瞬間に消えて その行が後に残らないようにしたいのですが…。 -echoとは違い、入力時(エンターキーでの確定前)には 通常通り表示させたいです。 どなたかご回答お願い致します。
- 締切済み
- C・C++・C#
- vaxala1111
- 回答数2
- emacsでデバックできない
linux & プログラミング初心者です。 GNU emacs 22.1.1を使いc++でのプログラミングを勉強しています。 間違ったプログラムを書いてM-x compile でコンパイルしたときに make: *** ターゲットが指定されておらず、makefileも見つかりません。中止。 とでてデバックできません。何が原因なのでしょうか?? OSはubuntu 7.10です。