【重要】 hogeは禁止します、使用しないでください。 万が一hogeが書き込まれても、スルーしてください。 相手にするとあなたも荒らしと同じ扱いになります。 なお、スルー出来ない人はhogeはNGワードに追加しておくことが強く推奨されています。 【重要】 hogeが禁止されていないと発狂する人がいます。 万が一hogeを使うなと書き込まれても、スルーしてください。 相手にするとあなたも荒らしと同じ扱いになります。 なお、スルー出来ない人はhogeはNGワードに追加しておくことが強く推奨されています。
3 :
デフォルトの名無しさん :2013/11/25(月) 10:26:18.25
3 hoge
4hoget
5 :
デフォルトの名無しさん :2013/11/25(月) 11:02:12.18
5homot
_,rr-―''''¨゙゙゙ ̄ ̄ ̄ ̄ ̄`゙゙゙゙゙゙゙゙''ヘi、、 ,,,,-―---、 ,r‐'″ ._,,,, `'lri,!'''″ ゙l .,,,″ ,,r'"` ゙゙l, ゙ヘ, | !アr, .l°.ェ'ニ,コ .| ゚ヘ、 | `'i、 .く_,、vr''″ ., ゙'i、 .,,/ ゙X、 ト ゙!,゛ .,,r‐--、 ,、_,、 .,,,,r‐'″ | } .,,r‐'^’ .|゜ め゙゚“゙゙~゛ |  ̄` .,l゙ | ,i´ ,l゙ ゙!、 ,i´ ,ノ .'┐ ,,-° '=,, /` .゚!, ,,,,r'″ ゙┐ ,l゙ ゚'r, .''''"` │ .,,-''i、 / `''x, .| | .,,r'" .゙┐ ,i´ ~'ヘi,,, | |_,r・″ 'ヘ,、 l゙ `¬--|i,,,,,,,,,,,,,,,,v、r',广 ゙ヘ=@ ,l゙ `゙'ーぃ--r'″ `'―、,,,,/
7 :
デフォルトの名無しさん :2013/11/25(月) 15:14:35.49
泥スレでスルーされたので Eclipse4.3 JRE7 最新のAndroidSDKで設定を 終わらせて、Androidテストプロジェクトを選んで 4.1にチェックいれて次へでThis Projectにして 次へで完了させると ビルド中にエラーが発生しました。 プロジェクト 'テスト' でビルダー 'Android リソース・マネージャー' の実行中にエラーが発生しました。 java.lang.NullPointerException とでてエミュレータを起動させることも出来ません 何がおかしいのか皆目検討が付きません 情報が足りてなかったらすみませんが 何方か解決策をご教示下さい
ADTとSDK入れなおす SDKのパスをもういちど指定しなおす プロジェクトを再作成する
windowsで任意のウィンドウでマウスかキーボードイベントが発生したことを 受け取れるウィンドウメッセージかコールバックのようなものはありませんか? GetLastInutInfoというのは見つけたのですが、 ポーリングではないものを探しています。 キーやマウスボタンの内容は取得しません。
縦スクロールバーと横スクロールバーがぶつかっている ウインドウの右下の四角い部分の名前は何ですか?
重箱の隅
窓際
14 :
デフォルトの名無しさん :2013/11/26(火) 06:57:56.30
太郎
15 :
デフォルトの名無しさん :2013/11/26(火) 10:36:35.19
VS2012が出たばっかでなんでVS2013が出たん? 今までは2005→2008→2010みたく2、3年間隔 ・大幅な仕様変更(大幅な機能追加) ・VS2012のできがあまりにもひどすぎた ・それ以外( )
※中身は 2012.1 です※
数年前にCOBOLを勉強しました(全商検定1級) ちょっとした趣味程度で新しい言語を勉強しようと思っています ネットで見ていると汎用性の高いJavaやC言語が主流のようなので 私もその辺を勉強したいと思うのですが、 やはり全商程度で手を出すのは身の程知らずでしょうか? Pythonなどの初心者向けと紹介してある言語をまず学ぶ方がいいのでしょうか どなたかお暇な方、ご指導の方お願い致します
>>19 webアプリをやりたいなら、PHP, Ruby, Pythonあたり。(個人的にRubyがおすすめ)
WindowsアプリならC#
iPhoneかMacアプリならObjective-c
androidアプリならJava
>>17 VS2012出すころにはWin8出ること確定してんだから、2012がWin8にネイティブ対応してないわけがない。
ということで真の理由は何かな。
「全商程度で」って、がっつり大学とかで勉強しないといけないってイメージなのかね。 独学でもまったく大丈夫。
>>19 何を作りたいの当面?
ウェブアプリ?(サーバはUnix系or Windows?)
デスクトップ[Windows]アプリ?
スマホアプリ?
言語先にありきなんて学校じゃないんだから・・・
まあでもあえてそういうならキミが自分で挙げてるその「高汎用性」言語のどちらか
あ 同じようなこと書いてしまった 意味ない・・・
>>20 分かりやすい説明ありがとうございます!
かなりぼんやりとですがスマホアプリ開発に進みたいと
考えていたのでJavaから手を出してみることにします
>>22 簿記が日商と全商で格が違うように、
プログラミングも全商を取った程度で…というイメージがありました
いろいろなプログラミング入門サイトを見たら「Cは上級者、初心者はpython」的な
事も書いてあったので敷居が高く感じていました
独学でもまったく大丈夫とのお言葉で少し安心しました、ありがとうございます
>>23 正直言って「学校で勉強したし、せっかくだからもうちょっと深い所まで
行ってみようかな、後々何かに使えるだろうし」ぐらいの
考えで上記のような書き込みをしたので何を作りたいのか、までは
ハッキリと決めていませんでした
不愉快にさせてしまったのであれば、ごめんなさい
何となくですがこれから発展していきそうなスマホアプリが気になっています
26 :
デフォルトの名無しさん :2013/11/26(火) 16:22:03.80
不愉快ではないけど、プログラミング言語って道具だから、 何を作るか決まってないとどの道具が良いかというアドバイスは難しい。 きかれてる側としては 「スコップがいいでしょうか、ハンマーがいいでしょうか、ノコギリがいいでしょうか?」 って漠然ときかれてる感覚。
今はスマホファーストらしいから、初心者はスマホアプリ作った方が実践的で楽しいと思う。
女子高生でも作るからね
学校でマイクロマウスのプログラムを書かないといけなくなったのですが マイコンで最短経路探索をするのに再帰をしない方が良いでしょうか
>>29 スタックの管理ができないならやめたほうがいい。
>>30 自己参照構造体でなら作ったことあります
頻繁に確保と開放を繰り返すのですがマイコンでも大丈夫ですか?
>>19 言語を学ぶなら、シェルのあるpython、rubyがオススメ。
開発を学ぶなら、Java。javadocが読みやすいので、言語も学びやすい。
実用ならJavascriptでBookmarkletとか、シェルスクリプトって手もある。使わないと覚えない人もいるから。
プログラマの人はやりたい事に対応するアルゴリズムが既にあるかどうか、いつも調べて組んでるの? アルゴリズム辞典とか手元に置いてるの?
>>33 一般的なのは頭の中にある。
専門的なのは探してなければ作る。
たいていは知っているアルゴリズムを組み合わせて、やりたいことを成す。
>>34 ありがとう。
仕事で組んでる人はいろいろ知ってるんだね
マクロ組んで遊ぶ程度なんだけど、トランプをシャッフルさせたくなってググったら
アルゴリズム出てきたんで、いろいろあるんだな、と。
>>35 仕事ってか経験だけどね。
でも自分がよく使ってるのより良いアルゴリズムを利用してる人もいたりする。だから、その手の質問がある、こういうスレを見て勉強してる。
より良い手段を選ぶのは、楽をするためで、必須ではないと思うよ。
最近macやiosにスクロールバーが消えるものがありますが スクロールバーには、「全体の中のどの位置にあるかを示す」という機能もありますよね? その機能はあまり重要ではないと考えられるようになったということでしょうか?
エッジUIはすべて悪だから
普通のDBMSでロールバックはどういう仕組みで行われるのでしょうか? トランザクション開始時にDB関係のデータ全て複製を取り、ロールバックしたいときは複製から書き戻すと想像していますがもっと効率のいい方法が有りそうな気がします
43 :
デフォルトの名無しさん :2013/11/29(金) 20:01:18.22
VMWARE使ってテスト環境を用意しようと思うんだけど ホストPC:Win7(64bit)+Offce2010+VS2008Pro で、以下のテスト環境を用意する場合 テスト環境に必要な各種ライセンスは OSライセンスは2つ、Officeライセンスは2003、2007それぞれ1つずつであってる? テスト環境1:Win7(32bit)+Offce2003 テスト環境2:Win7(32bit)+Offce2007
44 :
デフォルトの名無しさん :2013/11/29(金) 20:11:13.15
板違い
45 :
デフォルトの名無しさん :2013/11/29(金) 20:16:45.82
まじで?板違うの?どこの板がいいの?
46 :
デフォルトの名無しさん :2013/11/29(金) 22:29:56.72
どこがプログラミングなんだよボンクラ ライセンスがプログラムに見えるとかパーかおめ
>>45 強いて2chにこだわるなら、Windows板とビジネスsoft板かな
49 :
デフォルトの名無しさん :2013/12/01(日) 05:12:03.27
何か一つの言語を学ぶと、他の言語もぐっと習得しやすくなるといいますが、 Java学んだあとにScalaとか、全く毛色の違う言語でも学びやすくなるのでしょうか?
>>49 似ているどころか、ライブラリそのまま使えたりするでしょう。
学び方によるんじゃないかな。根本まで理解できていれば、lispの文法だって理解する助けになるはず。
>>49 基本的には根本の種類が違うと覚え直し
最終的にScalaやるぐらいなら最初からScalaやった方がいいよ
他分野の解法や共通する考えで多少は楽になるけどね
>>49 手続き型言語を1つマスターすれば他の手続き型言語は楽勝だろ。
関数型言語を1つマスターすれば他の関数型言語は楽勝だろ。
でも手続き型マスターしても関数型は楽勝ではないし、
関数型をマスターしても手続き型は楽勝ではない。
関数型なんて覚える必要がない
GPLのライブラリを使用する場合に、ライブラリのDLLをユーザーがDLL配布元から自分でダウンロードし、
それを特定のディレクトリに設置させる方式にすれば、DLLを呼び出す側のアプリケーション自体にはGPLは適用されないという理解で合っていますでしょうか?
教えてgooの質問では「日本と米国では違う」という回答でした
http://okwave.jp/qa/q5927604.html
>>49 Scala は Java の膨大な資産を有向活用できることを
主目的に設計された関数型言語であり、
Scala を解説した文書の多くではJava との対比で Scala を解説している
たとえば「Java ではこう書くけど、Scala なら....」という風に書かれている
だから、
>>49 が Java プログラマであるなら、
初めて学ぶ関数型言語としては Scala を強く勧める
同じ理由で C# プログラマには、F# を勧める
>>54 実際問題として貴方の配布するバイナリにGPLのライブラリについてるヘッダが含まれてるわけで、
貴方のプログラムがGPLと関係ないと主張するのは無理。
>>56 LoadLibraryとGetProcAddressならヘッダはいらんし
GPLか否かは設置したユーザーしか知らんことだし
普通はライブラリにはLGPLか、例外規定のついたGPLが適用されてるはずなんだがな。
>>54 みたいなことをやりたいときは LGPLだけに絞るほうが無難
61 :
54 :2013/12/01(日) 13:00:28.48
62 :
デフォルトの名無しさん :2013/12/01(日) 13:00:57.72
JAVAが使えると世界が広がりますか? HTML→JavaScript→Perl→C→C++とやって世界は広がりました。 望んだWebページを作るのにHTMLしか選択肢がなく、それで世界が広がり、 さらにそのページを細部に至るまでダイナミックにするという意味でJavaScriptも世界を広げてくれました。 Perlを覚えるとサーバサイドの処理ができるようになって世界が広がりました。 C/C++ではクライアント向けアプリケーションを開発できるようになって世界が広がりました。 しかしJavaは難解で何度か挑戦したのですが世界が広がるところまでいきません。 かなり気合いを入れてやればできるとは思いますが、学習コストと同等かそれ以上の世界の広がりはありますでしょうか?
日本語でおっけー
>>62 javaを習得すればandroidアプリ作れるよ
C++できんのにjavaが難解なのか…(困惑)
>>61 >>59 の答えと変わらない
しかしただのデコーダがGPLって随分強気なライブラリだな
>>54 GPL のライブラリーを使うことを意図してるならダメでしょ。
>>59 の答えってこれ?
> GPLの及ぶプラグインをロードするように設計された不自由なプログラムをリリースすることはできるでしょうか? (#NFUseGPLPlugins)
> それはプログラムがどのようにプラグインを呼び出すかによります。
> たとえば、プログラムが単純なforkとexecでプラグインを起動し、通信するだけならば、
> > プラグインは別のプログラムであり、プラグインのライセンスはメインプログラムになんの要求もしません。
>
> もしプログラムがプラグインと動的にリンクされており、お互いにファンクションコールを
> 使ってデータ構造を共有している場合、それらは単一のプログラムを形成しているとみなされますので、
> その単一プログラムは、メインプログラムとプラグインの両方の拡張部分として扱われなければなりません。
>
> プログラムがプラグインと動的にリンクされているが、それらの間のコミュニケーションは
> いくつかのオプションとともにプラグインの「main」関数を呼び出して返値を待つだけ
> という場合は、境界線上で微妙なケースとなります。
>
> 共有メモリを使い、複雑なデータ構造で通信することは、動的なリンクとほとんど同等です。
Aという人がプラグインの仕組みを備えたアプリを作った そのアプリはGPLではない。 Bという人がプラグインを作った。そのプラグインはGPLである。 この場合に、AとBのプログラムは関係がないどころか、 お互いに相手のことを知らないこともありえるので どちらもGPLに反しない。
71 :
69 :2013/12/01(日) 13:37:28.18
69の例はWINEにも当てはまる。 WINEのライセンスはGPLである。 WINEはWindowsのDLLを読み込むことが出来る。 このDLLはGPLではない。 つまり、プログラムがGPLでプラグインが非GPL、 またはその逆であっても、問題ない。 もしアプリがプラグイン必須じゃないと動かないものであれば GPLに反するだろう。そうでないのであれば問題はない。
>>70 >
>>61 読む限りではモロに特定のライブラリを指定してるからアウトじゃない?
そのライブラリがアプリの動作に必須でないのなら問題ない。
>>72 その理論だとEclipseのプラグインにGPLを適用できない理由が説明できなくなってしまうよ。
>>70 Java的な知識で答えるとjavavp8decoderはおそらく”汎用的な”インターフェースをimplementsして実装されてるはず
だからV2Cがjavavp8decoder「特有の」コードを書いている保証はない
>>69 > お互いに相手のことを知らないこともありえるので
あり得ないだろ。
インターフェースは誰が決めてるんだよ (w
> Java的な知識で答えるとjavavp8decoderはおそらく”汎用的な”インターフェースをimplementsして実装されてるはず
>>61 で示されたソースコードを見ればわかる。
> import javax.imageio.ImageReader;
> public class WebPImageReader extends ImageReader implements
WebPImageReaderは、汎用的なImageReaderインターフェースを実装している。
つまりV2Cは、汎用的なImageReaderインターフェースを使ってるに過ぎない。
>>75 > あり得ないだろ。
> インターフェースは誰が決めてるんだよ (w
そのお前がありえないと言っていることが
ありえたならば、お前の主張は完全に崩れる。
> javax.imageio.ImageReader
このインターフェースを決めたのは
Javaの開発元である。
>>62 今までどんな作り方してたかによるけど、設計の世界が開けそう。ちなみに俺は、10以上の言語を使ったが、Javaで一番変わった。1.2の頃の話だけど。
CとC++をまとめてる時点で、Javaも一緒かも知れないけど。
Oracleが公開したインターフェースに基づいてプラグインの読み込み機能を作った。 そのプラグインとしてGPLプラグインを食わせたとしてもそれはユーザーの責任である。
C/C++のライブラリだと「公開されたインターフェースに基づいて実装」ってのはあまりないから、 どうしてもライブラリ固有の呼び出しをせざるを得ないけど。 オブジェクト指向言語だと既に存在するインターフェースに合わせてクラス実装することが多いから 自然と汎用的なインターフェースを使用しがち。そこらへんでライセンスに関する認識が食い違うのかもね。
別の角度からこの話を見ると GPLのライブラリをうっかり共通のインターフェースに準拠させちゃうと 「俺は公開されたインターフェース使ってるだけだから無問題。お前のライブラリとリンクしてもそりゃユーザーの責任だ」で通っちゃうわけね
>>61 のサイト見たけど
具体的な設定方法まで書いた上で
最後に赤字で「〜の利用を推奨しているわけではありません」とか
見苦しい言い逃れを並べているわけだが
ほんとに心配なら第三者のふりをして別サイトでやれっちゅうねんw
>>81 GPLアプリをWindowsで動かしたら、
GPLでないWindowsのDLLを動的リンクするのは
避けられないわけで、お互い様だな。
動的リンクに関してはGPLは適用できない考えて良いレベルだよ。
そもそもGPLってのは作者が書いたコードが
GPLのまま発展されていくことを願ったもので
作者が書いたコード以外に影響するものではない。
他人をGPLにするのが目的ではなく自分がGPLでいられるのが目的だからね。
まあ自分でGPLのアプリやライブラリを作ったことがない人(使うだけの人)は
作者の気持ちなんてわからないだろうけど。
>>82 書かないとGPLに関して無知な奴が
難癖つけてくるからだろ。
GPLアプリがDirectXを使うことってどうなるんだろうね。
主旨を尊重しようぜ 変な抜け道探しをしていると GPL4「対Japan条項追加」なんて恥ずかしいことになりかねんw
>>82 そりゃ自分が作ったものじゃないんだから
責任は取れんだろ
>>86 そんなことにならねーから安心しな
馬鹿なことを言ってないで、
これがGPLに使い方の一つなんだから
素直に受け入れな。
>>86 その条項の内容が見てみたいな。
だって「GPLは汎用ライブラリのインターフェースを
実装してはならない」って条項だろう?
1. Oracleがインターフェースを作り巻いた。
2. あるアプリがそのインターフェースを利用するアプリを作りしました。
3. そのインターフェースを実行したGPLプラグインを作りました。
時間的にこの順番で事が進んだ場合。3で生まれるGPLライセンスは
当然過去に起こった1、2を止めることは出来ないからな。
ていうことは、GPLライセンスのライブラリは、汎用ライブラリの
インターフェースを実装してはならないという、GPLに制限を与える
条項になるわけだwww
>>89 そんな条項が付いたとして、
作者が嫌だと思えば、現在のGPLライセンスを使えばいいし、
そっちがいいと思えば、その条項付きGPLライセンスを使えばいい。
ということであれば、現在でもGPLの大部分をコピった
ライセンスを自分で作ればいいのだよ。
あるアプリの作者が作ったライセンス
「私は汎用ライブラリのインターフェースを実装してはならない」
そもそもの発端を考えようよ。
>>54 は、自分?のソフトから GPL に抵触しないように、GPL のライブラリを使う方法を考えてるんだよね。
だったら、GPL のもともとの精神からしたらやってはいけないこと、でいいんじゃない?
で、それでも抜け道を探せば色々手はあるだろうけど、
そんなのは自分の責任でやってみればいいじゃんってことでしかないんじゃねーの。
そんなことばっか考える輩が多いから GPL はあんな風になっちゃったんじゃ。
GPLはソフト作者が意図的にGPLへとリンクする行為については対応できるけど、 エンドユーザが勝手にGPLへとリンクする行為については対応できてない そこを悪用して「エンドユーザーが勝手にGPLライブラリをリンクする行為」をソフト作者がが促せば GPL違反にならずにGPLライブラリを使うことが可能になっている
動的ならどちらにしろ問題ない
このスレがGPLに汚染される
俺の書いたレスはGPLだからこのスレは全部GPLな
>>95 書き込みに使ったツールの不具合のためライセンス情報の喪失が確認されました
>>58 GPLは頭オカシイからな。
GPLなら
>>59 にあるように問答無用で汚染する気満々だし
(第三者がGPL使ってプラグイン書いたらどうする気だよ…)、
LGPLなライブラリならリンクしても汚染を回避できるものの、
LGPLは汚染できないから非推奨(意訳)って公式に宣言してる始末。
汚染が目的ですって言ってる文面見てFSFは駄目だと確信した。
つかそれが無くてもあの牛の顔がウザくて使いたくない。
98 :
デフォルトの名無しさん :2013/12/01(日) 16:54:28.47
あの牛も嫌いだけどgnomeの足も嫌いだわ
>>97 単にプラグインwwwとか言って迂回されるのを防ぐ意図のように感じられるけど実際にトラブったらどうなるかわからんな
例に挙がってるV2C なんか直撃してると思うw
インターフェースの表現にはGPLが及ぶが、インターフェース自身は著作権の保護対象ではない
>>91 >
>>54 は、自分?のソフトから GPL に抵触しないように、GPL のライブラリを使う方法を考えてるんだよね。
> だったら、GPL のもともとの精神からしたらやってはいけないこと、でいいんじゃない?
GPLの精神に反してないだろ。
GPLの精神はソースコードを保護すること。
ライブラリのバイナリを使用していだけであればなんの問題もない。
実際にGPLのソフト側が、GPLではないライブラリ(WindowsのDLL)に
動的リンクしている現状をどう思うよ?
もし自分以外が作ったものも全てGPLでなければらない、というのなら
GPLソフトが非GPLのDLLに動的リンクすることだって拒否するはずだろ。
そうしてないということは「自分が作った物」さえGPLのままであれば
なにが動的リンクしても関係ないと考えているから。
>>101 つまり GPLの理念を追求するならば Linux以外では一切つかわせてはならないという主張だな!
明快だ!
>>103 そして、Linux以外では使ってはいけないということだよ。
WINEとかありゃだめだね。
>>101 >GPLの精神はソースコードを保護すること。
それは建前で、本音はGPL汚染する事じゃないの?
>GPLではないライブラリ(WindowsのDLL)に動的リンクしている
OS側とのリンクは例外規定がある。
>GPLソフトが非GPLのDLLに動的リンクすることだって拒否するはずだろ。
依存するライブラリをGPLないしオープンソースのライブラリに置換する活動は方々で行われてる。
それにGPL汚染を拡大する為の物量作戦としては、理念より稼動物の生産が優先じゃないかな。
>>102 そだな。隙あらば汚染を狙ってる。
無理筋の汚染経路でもGPL乞食が汚染宣言するしな…どこのプロ市民だよ…
>>105 本音は隠されているのだから勝手に想像してはダメ。
たてまえだろうが、そう言っている以上
それを扱うしかない。
107 :
デフォルトの名無しさん :2013/12/01(日) 18:28:17.51
>>105 > OS側とのリンクは例外規定がある。
無いよ。
>>106 建前だけでも十分きっついわ
LGPLのリバースエンジニアリング許可条項とか意味不明
>>107 あるよ。
beroの日記: LinuxからコードをパクったOSはGPLにならない
http://slashdot.jp/journal/483811/Linux%E3%81%8B%E3%82%89%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E3%83%91%E3%82%AF%E3%81%A3%E3%81%9FOS%E3%81%AFGPL%E3%81%AB%E3%81%AA%E3%82%89%E3%81%AA%E3%81%84 > このGNU General Public License, version 2 [gnu.org]の一節にあるように、実行環境はGPLを適用されません。
> ですから実行環境であるvmkernelにはGPLライセンスを適用する必要もないことになります。
> プロプライエタリなPOSIX環境用にbashをビルドして配布する場合、例外条項がなければその
> 環境のCコンパイラやらカーネルやらも配布対象になりそうですが、それはOSに付随していてbashには
> 通常付随しないのでこの例外条項の対象になりませんから、配布しなくてよいわけです。
> あなたの言う独自OSがGPLでライセンスされたコードを組み込んで動く前提で設計されている、
> つまりGPLでライセンスされたコードが成果物に付随しているならば、そのOSはGPLの影響を受けます。
> このOS例外を使ったものでなく、プロプライエタリなソフトウェアのパッケージにオープンソースのライブラリが
> 付いてくることはよくありますよ。Battlefield 2(明らかにOSではない。し、OSSでもない)にもOpenALが
> 付いてきたことがありました。彼らは「混ぜて」はないんです。あるいは「交ぜて」いるのかもしれませんが。
> GPL2はGPL2なライブラリを利用すること自体は禁じていません。それを密に結合して盗用してはいけないよ、ってだけです。
> 一体不可分で独立してコンパイル・動作不能なソースのGPL部分だけを公開するってことはできませんけど、
> たとえばMicrosoftがWindowsにGPLでライセンスされたお絵かきソフトとMSVCでビルドできるソースを同梱して販売することは可能です。
これ読む限り、プラグイン=システムライブラリじゃん?
だからOKじゃん。
http://www.gnu.org/licenses/gpl-faq.ja.html#WindowsRuntimeAndGPL > Microsoft Visual C++ (もしくはVisual Basic)を使ったWindowsアプリケーションを書いているのですが、
> これをGPLのもとでリリースする予定です。GPLは、わたしのプログラムがVisual C++
> (もしくはVisual Basic)のランタイムライブラリとダイナミックリンクするのを許可していますか? (#WindowsRuntimeAndGPL)
>
> このようなライブラリとあなたのプログラムをリンクしコンパイルしたプログラムを他人に配布することは可能です。
> このとき、ランタイムライブラリはGPLv3が定義する、「システム・ライブラリ」です。これは、
> そのプログラムの「対応するソース」としてその(ライブラリの)ソースコードを含めることについて
> 気にしなくてよいことを意味します。GPLv2は同様の例外を第3節で提供しています。
>
> このようなライブラリをコンパイルされたDLLの形態でそのプログラムとともに配布することはできません。
> 良心的でないディストリビュータが「システムライブラリ例外」を抜け穴として使おうとすることを禁止するため
> GPLは、プログラムそれ自身とともに配布されないときに限り、そのライブラリがシステムライブラリとしての
> 資格があると述べています。DLLをプログラムと配布する場合、この例外にはもはやあたりませんので、
> GPLに適合する唯一の方法は、そのソースコードを提供することですが、これはあなたにできないことです。
>>106 LGPLは非推奨(意訳)の文書で本音ダダ洩れなんで…
>>110 GPL乞食に理屈が通用するとでも?
GPLが共産主義的であるというのは事実だが 乞食というのは誤り むしろGPLに反発するふりをして果実をタダ取りしようとするのが乞食
113 :
デフォルトの名無しさん :2013/12/01(日) 19:27:43.56
ファイアウォールって自作できる? Linuxでiptables使ってチョンアクセスを弾いてるんだけど、ここにチュンアクセスも弾くルールを追加するとルールが5000越えるんだ。 iptablesは5000越えた辺りから急に重くなるってきいてるから自作できたらしようかと思ってるんだが。
ルーター側でやれ
115 :
デフォルトの名無しさん :2013/12/01(日) 20:50:53.35
>>112 >乞食というのは誤り
GPL信者の一派閥がGPL乞食。
(L)GPLが絡んでるならGPL違反だろうがそうでなかろうが、
ひたすらソース公開しろって叫び続ける輩の事ですよ。
それを諌めるGPL信者がまず居ない辺り同類な気もするけど、それはそれ。
>むしろGPLに反発するふりをして果実をタダ取りしようとするのが乞食
自分がタダ乗りだと思う使い方を許すライセンス選ぶほうが間違い。
うるせえゴミ
そんなに GPL を憎めるほどのなにがあったというのだろう。
GPLはともかく、GPL乞食は結構ウザいよ。
ああ、いや。 GPL ウザイって思うような体験した上で言ってるのかな〜とか。 経験済みなら、そのときの経験を聞いてみたいけど、スレチだな。
GPL乞食がウザいって思ったことならあるな。 ライセンスに上も下もない、 つまりGPLはその他のライセンスより優先されるものじゃないのに、 GPLを混ぜてしまったものを見つけたら、 その他のライセンスは無視してGPLに従えってうるさいやつ。 本来なら、ライセンスに抵触しないようにGPL部分を 取り除けばいいだけなのに、それを許さない奴。 それでいながら、GPLに非GPLのコードが混ざったら それを取り除けばいいんでしょ?って言う。
藁人形乙
非GPLのアプリケーションにおいてGPLのプラグインを使用することは 「プラグインを使用したエンドユーザーがGPL違反」ということになるのかな?
>>123 ならない。
なぜなら、GPLはバイナリを手に入れられる人は
そのソースコードを手に入れられることという決まりがあるだけだから。
つまり、ソースコードを修正したとしても
そのコードを公開する義務はない。
こっそり自分用に修正したものを、
自分だけで使って問題ないんだよ。
その一番の利用例がウェブサービス。
あれは内部で何を使っていたとしても結果を返しているだけで
プログラムをユーザーが手に入れてるわけじゃないから、
どんなに改造して使ってもOK
>>113 Linuxのパケット・フィルタリング、netfilter(iptables)では、
適用ルールを線形探索するので、ルール数が5千以上あると、
性能が極端に低下する
32ビット・カーネルでは、25,000で、カーネルメモリが不足する
次に、IP rangeは、IPアドレスが連続している場合にのみ、
使えるが、アドレスがうまくまとめられないこともある
3つ目は、IP setで、不連続なIPアドレス
(+ネットワーク・アドレス、MACアドレス、ポート)を、
1つのルールにまとめる
ただし、カーネル2.6.39以降で使える
線形探索は、データ数nに比例する、O(n)ので、
2分探索、O(log n)のアルゴリズムが選択できれば、速い
DNSの逆引き遅いんだけどどうにかならないの?
>>124 5000の閾値は何が原因で発生するの?
128 :
片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/02(月) 14:34:46.91
重なってる2つのポリゴンを併合して1つのポリゴンを作る方法がわからない。 誰か教えて下さい。
スクロールバーを含めた表示領域、 スクロールバーを除いた表示領域 をそれぞれ何と言いますか?
C++ってなんて読むの? シープラスプラス シープラプラ ラージシープラスプラス ラージプラプラ ミギプラスプラス ミギプラプラ
>>131 2つのポリゴン領域にOR演算を施した後の領域の境界となるポリゴンの求め方がわかりません。
Win32のregion function使えばいいやん
>>135 いいえ、ダメです。ポリゴンのままでなければいけません。
とりあえず交点求めて図形の内外の判定ができればできるな
どういたしまして
class Person { private: string fullname; string nickname; public: Person(String fullname, String nickname); Person(String fullname); Person(String nickname); } 「フルネーム」と「ニックネーム」を保持する人間クラスを作りたいです。 フルネームとニックネームは相互変換可能で、 フルネームのみを渡された場合はコンストラクタでニックネームを推測してセットし、 ニックネームのみを渡された場合はコンストラクタでフルネームを推測してセットします。 しかしニックネームとフルネームは同じ型なので上に書いたようなコンストラクタのオーバーロードはできません。 以上の問題について二つの解決法を考えました。 1: Person(String name, Flag flag); のようにコンストラクタにフラグを渡し、引数のnameがfullnameなのかnicknameなのかをコンストラクタに判断させる。 2: Fullname fullname; Nichname nickname; のようにフルネームとニックネームを別の型に分けてオーバーロード可能にする 以上どちらの解決法がよいでしょうか? また、他に解決法がありましたら教えていただきたいです
アドレスを渡して、使わない引数にNULLを設定
Person(); void SetFullName(String fullName); void SetNickName(String nickName);
>>141 class Person
{
private:
string fullname;
string nickname;
public:
Person(String fullname, String nickname);
static Person* createFromFullname(string fullName); // ←フルネームだけでオブジェクトを生成
static Person* createFromNickname(string nickName); //←ニックネームだけでオブジェクトを生成
}
せめてユニポ返せよ
146 :
141 :2013/12/03(火) 00:10:53.95
おお〜色々方法があって感心しました
>>141 推測するのやめて単純にコピーだけにすればコンストラクタ2つで済むな
149 :
デフォルトの名無しさん :2013/12/03(火) 06:27:43.86
fullname,nicknameいずれかの情報が欠落してる場合はnullでコンストラクタに渡す
コンストラクタで設定せず、 setFullName,setNickNameのセッタを用意する。
151 :
デフォルトの名無しさん :2013/12/03(火) 09:32:52.46
現在Win7 64Bit使用中です 製作したソフトの実行テスト用としてWin8を仮想環境にインストールするのですが、 Win8 64bitのほうで正常動作するなら、Win8 32bitでもまず問題なく動作すると考えていいのでしょうか?
32bitでの動作保証がほしけりゃ32bitで動かせよ
バイナリが64bit環境向けにコンパイルしたものなら動かないぞ
ド素人が操作ミスで言いがかりをつけてきたときに そんな装備で戦えると思っているのか
充分だ ばあk
引数に値を与えたらセッター、引数なしならゲッターになるメソッドがありますが こういうメソッドに固有の名称はありますか?
ありません。プロパティが近いかもしれませんがそのものではないです。
>>156 Rubyだとアトリビュート(attribute)と呼んでいるね
そして、セッター/ゲッターメソッドという分類の代わりに
アトリビュートの性質として以下の名称がある:
・リーダ(reader):ゲッターメソッドに相当
・ライタ(writer):セッターメソッドに相当
・アクセサ(accessor):ゲッターメソッドかつセッターメソッドに相当
参考まで
>>149 nullより空文字の方がいい。
因みにsmalltalk系統の言語ならClass method内でInstanceにmessage送って初期化すんのが慣習。
Smalltalk系統の言語だとself newで派生ClassのObjectがかえって来るから、
基底ClassのClass methodで派生型も初期化できちゃう。
!Person class methodFor: 'instance creation'!
pesonFromFullName: aString
^self
new
fullName: aString.
!
personFromNickName: aString
^self
new
nickName: aString.
!!
Person personFromFullName: '名前'.
Person personFromNickName: 'あだ名'.
nullの方がいいな
nullだとnull確認が増えて手間。 aString ifNotNil:[ aString ifEmpty:[...] ]. とか毎回null確認なんてやっとられん 尤もaccessing methodをnilのために有効に使う手もあるにはあるが。
nullだろう。
空文字の名前が認められるか仕様にない。
どちらにしても、nullチェックがあった方が、強いプログラムになる。
>>161 のようなのは、1人でプログラム書くような場合にしか言えない。
nullチェックが面倒なのはわかるが空文字とnullは意味が違うんだから代替は無理じゃね
>>163 空文字の名前を認めるか認めないかで何が困るんだ?
>>164 nullだったらまだ文字が入力されてませんとか、
DBに突っ込むときnullだったらnullをinsertするとかする気?
Cの時代ならまだしも今のご時世、設計上病んでるでそれ。
167 :
名無し :2013/12/04(水) 00:35:23.67
コマンドライン引数から4つの整数を入力して1234と比べて全て異なれば「アウト」 一つ正しければ「ヒット」二つ正しければ「ツーベース」三つ正しければ「スリーベース」 全て正しければ「ホームラン」と出力するようなプログラムを作成するにはどうしたらいいですか?
お前が
>>167 に書いた通りのプログラムを書けばいいよ
お前の頭が問題
おまえ的にはこれが同じことなワケか。なるほど。 ・null と空文字は別の物 ・null は時代遅れ
>>172-173 中傷はどうでもいいからどういう問題が有るのか答えてくれないか。
単に謗りたいだけでなんの問題もないの?
自分の意に沿わないレスは全部中傷なのか?
>>173 nullが時代遅れってまさか本当にFlag代わりにnullを使う気だったのか?
nullはC++なら無効領域、それの以外の言語なら未初期化を表すためのもんだろ。
空の名前かニックネーム渡したいときどうするんだよ
空文字
いや逆の話 類推させずに空を入れたい場合に問題があるっれレス
類推?
うん、類推。
そっか。
>>182 レスツリー間違えたのかと思ったぞ
空文字を渡すときに勝手に名前を類推してしまうのであれば、
空文字そのものを設定する事ができない
>>185 それで有ればClass methodなりstatic関数なりで初期化する際、
空文字の代わりに、類推した文字を渡すべきだよね。
nullをFlag替わりにする必要はない。
>>186 だからインターフェースがコンストラクタだけの場合はどう区別するんだ?
勝手に作って想定してるけど
これこそ空文字だけで対処できない場合だぞ
え?なんで?
どう使おうがお前の御託に付き合う筋合い花井
190 :
188 :2013/12/04(水) 01:41:42.83
すまん誤爆
nullと空文字を混同しない方が解りやすくていいな
つか他の言語でもemptyとかリストのnilとかMaybeとかOptionとかあるわけだが これらは思いっきり処理の分岐で使うし
>>185 基本的に引数にnullを受け付ける関数を作る位なら、
nullを指定する仮引数を取り除いた引数リストを持つ関数を
新たに用意すべき。
WindowsAPIで得た教訓でしょ。
>>187 インターフェイスがコンストラクターしか無いってどういう制限なんだ?
そのクラスを編集しちゃいけないの?
そんな教訓有りません
>>194 クラスのインターフェースが固定の場合はって意味
>>196 どういう状況だそれ?
会社の上司に言われたとかか?
>>197 リフレクションでnewInstanseする場合とかな
nullも設計パターンに入れないと解決できないだろ
なんか思ってたより要領得ない感じの反応でめんどくさくなってきたわ
わろた
>>195 見た目でNULLを許容できる引き数かどうか解りづらいんで、
オーバーロードやデフォルト引き数が使える環境じゃ
それらで代用されてるよん。
>>201 .Netの話?普通にnull使われてるが・・
>>198 おかしな事言ってんの解ってる?
→ReflectionでConstructorを使うことになっている。
じゃnull渡されるのもそこの仕様じゃん。そこの仕様の作り方がダメだって話だろ。
それに既に糞仕様になってるつうんなら議論のしようもねぇじゃん。
逆にReflectionでConstractorからnull渡されない仕様なら意味ないしstatic関数使う方法で問題ないぞ。
それに
→Reflectionで特定のstatic関数が呼ばれる
ってな仕様になってたらどうすんだ。こっちも議論のしようもないだろ。
そこの仕様に合わせるしか無いんだからどのやり方が良いも悪いも無い。
>>204 で、nullが空の文字の代替でないことは理解したのか?
>>165 名前に空文字が認められているのに、名前が指定されないことを空文字で現したら、二つの状態の区別がつかないから。
>>205 ていうか、nullはflagの使い方もできるがflagではないぞ
>>208 だからどうした
値に付随するものだからflagじゃないわな
でもnullを元に処理を分岐することは良くある
それでnullが空の文字列の代替でないことは理解したのか?
馬鹿一人以外理解してるだろうからもういいんじゃね
バカにはムリw
>>209 できるからすべきという問題じゃない。
WinAPIの話しも上がってたが今のご時世、
nullを引数が無い事のFlag替わりに使うべきじゃない。
オーバーロードなり関数を別にするなりでわけないと読む側が
分かりづらい。
>>202 使われてる事自体は否定しないが
具体手にどういう用途で?
Equalsなんか当然nullを受け付けるべきだが今回はそれとは話は違うぞ。
>>212 GDI+なんかは大量のオーバーロードのパターンがあるせいで、
逆に分かりづらい状況になっているぞ。
215 :
横レス :2013/12/04(水) 07:21:09.68
>>212 ・コンストラクタのみで(コンストラクタに限らず、ファクトリ等でメソッド名が固定されてる場合も同じ)
・空文字列を与えたい
場合に「値が無いことを(nullではなく)空文字列で示す方法」は使えないって話だろ。
null使うべきじゃないとして、じゃあどうすんの?
引数増やして値の有無をそっちで表現するのも冗長だし、
型を変えておいて型で判別するとか一々型増やすのが冗長だし、
null使ったほうが素直に表現できるケースも有ると思うんだけどなぁ…
>>214 なんでも乱用は問題だがnullの代わりに使われてるオーバーロードは分かりやすいよ
jsならundefinedとかnullとは別のがあるけど、普通はnullでいいよ。
>>215 一個目はそもそもnullが渡される事が前提になってるから、
その時点で間違ってるでもう終わっただろ。
二個目は話がふりだしに戻るだろ。それがどういう時に問題になるんだ?
空文字列を与えたい時
>>222 じゃ何が困るんだ?
結局1個目の例が問題になるばかり言い続けるだけだろ。
もしそれが問題だと思うんならお前の中ではそうなんだろ。
別にそれ以外の問題が出てこないならこっちも聞く事は無い。
現実にそんなあほな事にならないから困らないしな。
言い続けてるのはお前 やっぱ池沼だな
バカにはムリw
じゃ問題はないんだね。 ありがとう。
ほらね
一言nullが空文字列の代わりにならないと認めれば終わる話をぐだぐだと・・
もう逃げたみたいだよ
逆だった 空文字列がnullの代わりにならない
nullが空文字列の代わりと認めないなら国家機密取締法で逮捕だ なんでnullが空文字列の代わりにならないかは国家機密だから言えん
終わってみれば結局他人に意見押し付けてるだけだったんだなこいつ
区別を理解した上で言ってるのでなく、 本当に理解さえできない頭だったのか 実に無駄な時間だったな
Oracleだとvarcharが空文字を入れると強制的にnullになるせいで、 無駄に判定を入れないといけない状況になっていたりする。
どんなに否定しようとnull渡される可能性があるんだから、有効活用した方がいい。
>>233 煽るな煽るな。nullを空文字列で代用したら何が問題か答えられず、
煽りに転じた奴と同じに見えるだろ。
GDI+の場合、nullを受け取りたくない引数は参照渡し、 受け取りたいときはポインタを使うようになっている。
nullがよくない理由が判定しなきゃいけない(面倒だから) ってのがなあ…
>>238 >nullを空文字列で代用したら何が問題か答えられず、
有効値として空文字列が使えなくなるのが問題なのは自明なんだけど、そんな奴いたの?
にほんごでおか
Oracleの文字列型のように、未入力のフィールドなのか、 文字数0が入力されているのか区別がつかなくなる。 そして集合関数を使うときなどに無駄に長いSQL文を追加する羽目になる。 ほかのDBMSはみんな区別があるのに不便きわまりない。
SQLはbool型にまでnullがあるから面倒なことになってるけどな
SQLでnullがあってもデフォルト値を設定しておけばいいだけの話。
>>241 値が無いっていう例外を扱いたいときにnullっていう例外を判定したくないとかイミフすぎるわな
挙句に有効値でありうる空文字列を潰して例外用の値として使うとか本末転倒にも程がある
>>220 >>223 >一個目
ファクトリ/コンストラクタでの初期化が強制された環境を使う事になったら、
「現実にそんなあほな事にならないから困らない」と言って環境捨てるのか?
もしそれで問題ないと思うんならお前の中ではそうなんだろ。お前の中ではな。
つかこの制限だけだったらどの引数が有効値か示す引数追加すりゃいいだけだろ。
>二個目
>>221
馬鹿には無理
>>176 そんなこと言ってないよ?
挙げた二つは別物でしょって言ってるだけ。国語からやり直したらいかが?
↑失せろゴミ
蒸し返しに現れたのか よっぽど悔しかったんだな
javaでもCでもネットワーク機能を持ったプログラム作ろうと思ったら セキュリティとかどう考えれば、勉強すればいいんですかね? たとえばWebアプリケーションとして掲示板(本当に簡易な)つくりたかったら SQLインジェクションなりXSSの対策のコード書きますよね
実際に攻撃を受けてから考える
エラーとか環境構築なら失敗しながら覚えれますが攻撃はちょっと……
>>253 入ってくるもののチェックと、入れたものが危険だという前提。データとして扱うこと。
>>254 攻撃を受けていることにすぐに気づくという大前提が欠けている
>>248 type.newInstance( null, null );
とかしてくるライブラリーとかホントクソだな
>>215 ファクトリーで名前が固定ってのが意味分からん。
名前なんてファクトリー内でどうにでもできるじゃん。
struct SomeFactory: public SymbolBuilder
{
virtual std::shared_ptr<Symbol > NewFromFullName( const std::string &name )
{
return std::shared_ptr( new Person( Person::FromFullName( name ) ) );
}
virtual
std::shared_ptr<Symbol> NewFromNickName( const std::string &name )
{
return std::shared_ptr<Symbol>( new Person( Person::FromNickName( name ) ) );
}
};
>>253 一番多い問題がエスケープ漏れで、これはセキュリティホール以前にメタ文字が使えないっていうバグ。
各部分ではデータをどう変換して渡すべきかを正しく意識すればよい。
HTMLをHTMLに書き出すなら変換は要らないし、テキストをHTMLに書き出すなら文字参照への変換が要る。
データとしての有効性とかも同じで、
「投稿の本文が空文字列なら削除済みの投稿とする」のような
「0文字の空文字列は無効値」って特殊なルールを設定した場合は
通常の投稿の段階で本文0文字の投稿を拒否しないと勝手に削除済みになるバグとかが起きる。
この場合「空文字列は無効値」なんてオレオレルールを設定した奴がちゃんとそれを周知しないから起きるバグだな。
お前の事だぞ
>>257 。パスワード0文字とパスワード未設定は同値じゃねぇよ馬鹿。
次点はセッション管理。
別サイトから投稿動作のページだけ呼ばれても問題ないようにセッション情報やワンタイムキーできっちり状態遷移を管理する事。
>>259 んで、「現実にそんなあほな事にならないから困らない」
と言ってればそのライブラリが消えるのか?
>>261 んなもんnullじゃなくてnullオブジェクトパターンで良いじゃん
>>262 んじゃnullを渡さないライブラリーがあったらどうすんだ?
同じ話じゃねぇか。
>>261 元々空文字が無効値なんて話じゃなく、
無効値とせず代わりにデフォ値(空文字)を入れるって話だったろ。
>>159
>>261 パスワード未設定とパスワード0文字って何が違うの?
初期化未初期化のフラグ的な意味ならnullじゃなく多態で対応すべきでしょ。
password := Password from: Terminal contents. password class name."->Password" password := Password nothing. password class name."->NilPassword" null(nil)は使わないねぇ
>>241 大体nullオブジェクトパターンで置き換えたり、長さ0の配列に置き換えて、
null判定省くからnullチェックしなくて済むのは結構重要だよ。
しなくて良い手間を進んで増やす必要はない。
>>261 投稿の本文がnullなら削除済み扱いでも
結果は同じだぞ
もはやnullと空文字列の区別も出来ないほど重症だったとは……
>>271 いつになったら自分が物事を批判的に見られず
先入観だけで書いてる事に気付くの?
>>271 削除済みにしたけりゃ全項目が空とか、
有効テーブルから削除されて履歴テーブルにしか残って無いとかだろ。
nullを使うって選択肢は無い。
空文字列を受け入れられないシステムしか作れない馬鹿が居るスレはここですか?
>>275 空文字が問題じゃなくて、nullをFlag代わりにすんのがおかしいと
言われてることにいつになったら気づくんでしょうねぇ。
nullをフラグに使うって設定は誰が付けたんだろうね 誰もそんな話をしてなかったよね
278 :
デフォルトの名無しさん :2013/12/06(金) 00:32:41.73
>>276 なぜおかしいか説明を聞かせてもらおうか。とにかくだめなの!バカって主張はなしな。
nullをフラグにする是非を問う前に、 空文字をフラグにする是非を考えろよ…
nullはダメだけど空文字はフラグにしていいそうです
馬鹿には無理
伺いたいのですが PHPでTwitterのstreaming apiを使用して特定のワードを含むツイートをファイルに書き出すプログラムを作成したのですが、 常時コネクションを張っていなければstreamingの意味がないですよね どうにかしてレンタルサーバに置いたこのファイルを動かしたいのですが…… 自分のPCを起動しっぱなしにせずにこのプログラムをどうしたら動かせるでしょうか アイデアをお願いします
VPS借りろよ
>>282 規約が許すならレンタルサーバで動かせばいいじゃん。
>>284 レンタルサーバに置いてから、どのようにしてコネクションを張り続ければ良いのでしょうか?
今はブラウザで目的のファイルにアクセスし続けることで動かしているのですが、
ブラウザを閉じると動作が止まってしまうし……
シェルスクリプトにcURLで目的のファイルへのURL書いておいてcronで何分置かに再実行するのが楽?
>>285 プロセスをフォークしてhup受け取らない。
サーバ側で普通にプロセスを動作させっぱなしにすればいいだけでしょ。
>>289 恥ずかしながらブラウザからアクセスするだけしかphpを実行する方法を知りませんでした……
なるほど……
>>287 それは261の空文字列をフラグに使うのが不味いって指摘に対する見当外れな反論で、nullをフラグに使うのがおかしい理由の説明にはなってない。
まぁnullをフラグに使うのがおかしい理由に何を挙げたところで空文字列をフラグに使う方が100倍不味いんだけどな。
別にphpからプロセスを起動することもできる。
ただし、セキュリティには気をつけることだ。
296 :
デフォルトの名無しさん :2013/12/07(土) 13:37:58.65
phpは難しい
297 :
デフォルトの名無しさん :2013/12/07(土) 23:11:27.03
C++でandroidアプリ製作ってできないの? javaやないと無理?
Java分かってる人がC++でAndroidアプリを作ることは出来ると思うが、 Java出来ない人がC++だけでAndroidアプリを作るのは無理だろうな。
299 :
デフォルトの名無しさん :2013/12/07(土) 23:26:31.99
>>300 NDKは単体で完結するもんじゃないからなあ
302 :
デフォルトの名無しさん :2013/12/08(日) 00:00:09.47
C言語で数値計算をしているプログラム初心者です。 実行中にエラーが出て止まってしまうので、バグ取りをしています。 変数や配列の値を確認する為にprintf文で書き出していたところ、 ある箇所にprintf文を挟むと最後までエラーが出ずに実行できて、それを消すと エラーが出る事に気付きました。 一体どういうワケなのでしょうか・・・?
メモリをぶっ壊してるんだろう
305 :
デフォルトの名無しさん :2013/12/08(日) 00:24:20.44
>>303 ありがとうございます。よければ詳しくご教示願えないでしょうか。
初心者にありがちなメモリを壊すような例を挙げていただけると助かります。
なお、自分で調べてみたところでは、よくあるミスとしてポインタが挙げられるようですが、
あまり詳しくないので使っていません。
>>302 コンパイルエラーか実行時のエラーかくらい書けよ
あとエラーの内容もな。
>>305 ポインタ使ってなくても配列使ってるならポインタを使ってるようなものだから
メモリは簡単に壊れる
310 :
デフォルトの名無しさん :2013/12/08(日) 00:35:11.17
>>305 壊してそうなところを適当にコメントアウトして不正終了しなくなったところが悪いところ。
>>298 Java分かってる人がC++書けるとは断言できないし、
C++分かってる人がJava書けるとも断言できない。
ただ、AndroidアプリをC++で作ろうと思ってもJavaが混ざってくるからJava"も"要る、というだけ。
C++できることは質問の前提だろ。 C++書けるとは断言できないとか何を馬鹿なこと言う前に質問文をきちんと確認しましょう
>>305 #define ___
#include <stdio.h>
int main(){
___ char str[32];
___ gets(str);//←32文字以上入力されると上の配列以外の領域を破壊する。大抵は終了時にクラッシュ
___ printf(str);//←%nなどの書式指定が入力できる為変な場所に書いたりしてクラッシュしたりセキュリティホールになる
___ return 0;
}
315 :
デフォルトの名無しさん :2013/12/08(日) 01:38:35.30
>>307 参照先も含めて、じっくり考えてみます。ご親切にありがとうございました。
LINEの翻訳機能ってほぼ投稿と同じ速さで翻訳してくれるけど、どういうアルゴリズムなんだ?気になって眠れない
計算機科学のスレはム板にはないの 型理論とかの
なければ立てればいいじゃないの
>>316 何が不思議なのかわからない
googleとかexciteも不思議だと思ってる?
>>317 過去には情報板にそういったスレが存在していた
しかしカモメが飛んでそれらのスレは壊滅した
変数onCreatにvoidは無効な型です。 初心者なんだが意味がわかるように説明してくれ。
サンプルコードに public void onCreat(Bundle saveInstanceState) って書いてあるのになんで無効な型なんだよ
変数onCreatって変数扱いされてる時点でおかしいだろ。 「public void onCreat」までで止めてるとか、写し間違えてんじゃね?
>>318 ,320
そうなのかカモメのせいだったんだな。
自分で立てるの面倒だから自力で調べようかなありがとう
onCreateじゃない時点で、色々馬鹿なんだなあとしか思えない。
>>325 すまん、それは書き込んだ後に気が付いた
己の馬鹿さに自分で気づくとは見どころのあるやつだ
自分はmysqlで簡単なSQL文が書けるレベルですが、株式のスクリーニングサイトでは、その時点の絞り込みだけでバックテストできないため株式の自動スクリーニングソフトを自作したいです。 しかし、株式関係等ではMT4等の既存ソフトでのプログラミングか、excelVBAに関する本しかなく、DB関係はwebサイト構築といった株式DBとスクリーニングソフト構築に役立たないものばかりです。 自分のような初心者では、何から手を付けて良いかすら分かりません。 どなたか、同じような試みをされている方がいらっしゃれば、お知恵を拝借いただけませんか?
>excelVBAに関する本 この辺りでどーとでも出来そうな雰囲気がばしばししてるんだが。。
答えが目の前にないと、自分で導くことができないんだろ。
>>328 市況1板でMT4とかシストレのスレを探して聞いた方がいいだろう。
スクリーニングってなに?
333 :
デフォルトの名無しさん :2013/12/09(月) 15:42:32.42
エッチなこと聞くなよ
334 :
デフォルトの名無しさん :2013/12/09(月) 19:29:42.95
選別の意
普通に日本語になってる yahoo辞書で引いてみな
オマエラに聞いてるんじゃねぇ
>>328 に聞いてるんだ
ググレゴミ
shやbashのスクリプトをパースしてプログラム内で実行する C/C++のライブラリってありませんか? luaの文法がshになったような感じのものを探しています
そのままターミナルにぶん投げたらいいんじゃね system("echo hello");
340 :
338 :2013/12/10(火) 21:37:58.45
>>339 アドバイスありです
しかし、Winやシェル&コンソールの無い他の環境でビルド実行したいので
できればプログラム内だけで完結するようなものが望ましいです
ディレクトリ関連の命令はオミットして、外部コマンドはluaのC関数呼び出し
のような形で与えられる・・というのが理想です
libxmlのようなパーサだけでもいいです
検索下手なので見つけられませんでした
よろしくおねがいします
341 :
デフォルトの名無しさん :2013/12/10(火) 21:49:37.14
は?
>>340 無理。
shをエミュレートするだけじゃ足りなくて、
使用するあらゆるコマンドをCのライブラリでエミュレートしなければならなくなる。
素人の無理難題は清々しささえ感じられる
ゆとりってバカだな
345 :
デフォルトの名無しさん :2013/12/10(火) 22:24:58.02
何のためにmingwやcygwinがあるんだよ
全てstatic linkしたら何GBになるんだろ。
shのシンタックスを持ったスクリプトをつくりたいってことかね Luaでやればいいんじゃね(
348 :
デフォルトの名無しさん :2013/12/11(水) 16:43:50.70
私は構造体の配列をデータベースと呼ぶことがあります。基地害でしょうか。
349 :
デフォルトの名無しさん :2013/12/11(水) 16:49:31.28
YES
場合によるだろ。 ACIDを満たすものを「データベース」として求められてる文脈なら、それは違うものだし。 文脈による、というものを理解できない基地外なら、基地外と言うだろうけど。
DBMSと呼んでもいいのよ
著作権法 第二条 十の三 データベース 論文、数値、図形その他の情報の集合物であつて、それらの情報を電子計算機を用いて検索することができるように体系的に構成したものをいう。
>>350 文脈によるけど、構造体の配列をデータベースと呼ばせる文脈のときなんてめったにないしな。
よくしらないけどCOBOLとかそのあたりの文化圏では言いそうな気がする。
>>351 データベースはギリギリありだけど、DBMS はないわ
356 :
デフォルトの名無しさん :2013/12/11(水) 21:17:19.29
構造体だと揮発性だからな。 サービスとかで全データをメモリに展開とかはあるけど。 データの一部だとデータベースって感じしない。
統合失調症です プログラミングのモチベーションを保つにはどのようにしたらよいでしょうか
頭の病院行って聞いてこい
2chの専ブラのようなものを作ってます 自分のレスや常駐スレにレスがあると知らせてくれる機能を付けたいと思っています こちらから新着レスあるか定間隔でリクエスト送る以外でいい方法はないでしょうか? 基本的に2chはこちらからリクエスト送らないと新着レスあるかわかんないですよね?
はい
構造体配列をデータベースということに抵抗がある奴はカード型データベースを知らんのだろう。
>>358 俺はアスペでモチベーション保てないときは旅に出る。そうするとPCの前へ戻りたくなって脳内プログラミングを開始してしまう。
>>362 しってるけど「このアプリはDBを使ってます」って聞いて、見てみたら構造体の配列だったら「え?」ってなるわ。
DB(のパッケージ)使ってます
構造体を7つ集めると神龍が出てくるんだろう。
>>364 そういう場合はデータベースを持っていますって言わないか。DBMSなら使ってますと言うけど。
俺、androidアプリの開発で、初めてSQLightを使って DBデビューしたんだけど DBと言えばSQLが定番だと思うのですが 以前、デスクトップアプリでC#を使って作成した時に データグリッドビューの履歴をxmlで保存してたんだけど これもDBと言えるでしょうか
最近のDBは光るのか
>>368 DBと言うか言わないかはその時の気分で決めます
CSVもDB()
>>368 良い質問ですね。
XMLはナビゲーショナルデータベースの一つです。
>>368 履歴と言うとログなイメージ。入れ物自体はデータベースかも知れないけど。
SQLはデーターベースじゃなくて言語だから
それクエリのことじゃね
>>364 SQLとかなんとかはDB実装の一つの形に過ぎないだろう。
構造体配列でも、キーで目的のデータを得たり
データを追加削除出来るならそれはDBだろう。
377 :
デフォルトの名無しさん :2013/12/13(金) 02:56:32.62
CSVは揮発性じゃないからDBって呼んでいいだろ 「そのディレクトリの中にデータベース入れといたから」 ってCSVを入れておくことはよくある
メモリ中の構造体配列って揮発しちゃうじゃないか。それでもDBと言えるのか?
379 :
デフォルトの名無しさん :2013/12/13(金) 04:10:12.63
揮発しちゃうのはプールとか言うんじゃないのけ?
sqliteは(書き出さない限り)オンメモリで動作するDBだけどね。
>>378 揮発するかどうかはDBの定義に含まれないだろう
実際の保存形式に関係なく最低限の手間で検索と保存が出来るように 管理された情報じゃないとDBと言えんだろ。 あと保存形式自体は関係ない。
検索は必須じゃないな 必須なのは、読み出しと書き込みぐらい
MSのJETだとSQLでCSVにアクセス出来るから良いね!
DBの話だ、DBMSの話なんかしてねーよ 引っ込んでろ、池沼
ファイルの話などしてないというに
DB⊆FS DB⊇FS だからな
RDBにせよObjectStoreにせよ検索を支援する何らかのDBMSは必須だな 自力で検索せにゃならんのはDBとは言えんだろ
データ構造とDBはどうやって使い分ければいいのか
396 :
デフォルトの名無しさん :2013/12/13(金) 17:33:39.95
そんなこと言ってたらおちんちんだってDBだろ
正確にはタマタマだろ
マルチ死ね 氏ねじゃなくて死ね
リンク先を見てないけど、 例えば、0-99の範囲の、ある数xがある時、 x/10で、余りを1の位、商を10の位に入れる 百、千の位も同じようにすれば、良いのでは?
401 :
デフォルトの名無しさん :2013/12/14(土) 03:37:14.46
アルゴリズムを勉強しようと参考書を買おうと考えてますが 調べていると定本 Cプログラマのためのアルゴリズムとデータ構造の評価が高いようで、皆さん的にはどう感じますか? またコレ以外にもおすすめがあればお願いします。
それでいいからさっさと勉強しろ
403 :
デフォルトの名無しさん :2013/12/14(土) 16:57:05.85
画像から最も多い色を取得したいのですがどのようにすれば良いでしょうか まったく同じ色じゃなくてもある程度似ている色なら同じ色としたいです 最終的に求める色を一つにしたいので、最も多い色の平均が返ってくるようにしたいと思います
まずはある程度似ている色という、馬鹿が説明するときに使う抽象的な表現では無く、 具体的にどうするのかを明確にしろ。 現状では話にすらならない。
RGBの差が閾値以下の色の組を似ている色とします
色数落としてカウントしたら
それだと連続して近い色のがあった場合の区切りが不明確。 前提条件が成り立っていない。 きちんとどうするか考えろ。
簡単そうで実は奥が深い問題だな。
>>405 似ている閾値が16だとして、0,15,31...255という色があったとしたら全ての色は似ている。
つまり全部足した平均の色でいいんじゃね。
RGBの3D空間でピクセル数についてぼかしフィルタをかけて 一番濃度の高い部分でおk
412 :
デフォルトの名無しさん :2013/12/14(土) 18:44:56.91
ネットにつながってないノートPC(windowsxp)があるんだが この状態でも練習できるプログラム言語あるかな?
javascript
ネットに繋がってる PC で適当にダウンロードして USB メモリ経由でも転送すればいいじゃない。
エディットコントロールで、キーによる貼り付けが出来ないのですが(マウスからの右クリからは可能。コピーも可) どのメッセージを処理すればいいでしょうか?
>>412 雑誌とかについてるLinuxをインストールすれば、いろんな言語が入ってると思う。
>>411 似ている色が2つ以上あった場合に、どれを代表の色にすんの?
構文解析したいのですが、(自然言語でなく、あるフォーマットで書かれているデータ(複数行の文字列)を解析したい) パーサジェネレータを使用する場合、オススメとかあるでしょうか。 bisonとやらが見つかりましたが結構前からあるもののようなので、もっと新しくていいやつがあるのかなと。
420 :
デフォルトの名無しさん :2013/12/14(土) 22:20:46.17
自分で作るのが一番いいよ。
その「自分で作る」の手間を省力化してくれるのがパーサジェネレータではないのでしょうか…
422 :
デフォルトの名無しさん :2013/12/14(土) 22:39:09.30
Bison相当は自分で作っても性能が出しやすいので自分で作ったほうが納得いくということです。 手法が確立されていて簡単に作れます。
423 :
デフォルトの名無しさん :2013/12/14(土) 22:40:39.50
一つだけアドバイスしておけば、gotoを使わない的な変な縛りをかけないほうが良いと思います。
ANTLRは高機能 PEG+再帰下降分析ならかなり簡単に自分で書ける すごく簡単なやつなら正規表現でやっちまう
構文解析とかやってみたいね
>>411 410はrgb[256][256][256]の0クリアした三次元配列を用意して、
元画像の全ピクセルを走査してピクセルごとにrgb[r][g][b]++して、
rgb[][][]に対して暈しをかけて一番濃度の高い部分のr,g,bを結果とする、だろうな。
ピクセル数を32bitで計算するとメモリ空間が64MBも要求されるからちょっと嫌だ…
>>412 IEのJScript(JavaScript)、
WSHのVBSとJScript(JavaScript)、
cmd.exeのバッチファイル、
debug.comだかのx86の16bit機械語、
あと
http://toro.2ch.net/test/read.cgi/tech/1374205515/248 で始めて知ったんだけど、
.NET Framework(ランタイム)が入ってるならVisual C#、Visual Basic .NET、JScript .NETがコマンドラインコンパイラなら使えるっぽい。
あとなんかあったかな・・・
>>417 その処理は適当で構いません
>>426 なるほど、そんな方法があったのですね
速度とメモリと結果とを検討して減色してカウントかどちらにするか決めることにします
ありがとうござました
適当に減色してから3d空間で処理すりゃいいじゃん。 24bitだから16Mだけど、rgbそれぞれ2bitも落とせば256Kで、 4バイト整数でカウントしても1MBだ。
複素関数の画像プロットで何かよい表現方法ってありませんか? 例えば (r, θ) → (R,G,B) の関数対応で世間的によく使われているアルゴリズムがあれば教えてください。
>>429 よく使われているかどうかしらないけど
HSV で θ→H、 1.0→S、 r→V にしたらどうかな?
ググるとその種のは幾つか出てくるのですが、どうも個人的な提案レベルの物が多いように感じました。 これが一番分かり易い配色ですみたいな定石/定番は無いんでしょうか
うん
Mathematicaの真似すれば?
二進数と補数の説明で、 5-3を8桁の二進数ですると 00000101-00000011 ( 5-3 ) が 00000101+11111101 ( 5+3の補数 ) で _00000101 _11111101 100000010 (9桁目が無視されて2(10)) これの意味が分からないので 誰か8桁の10進数で教えて下さい
自己解決。漢字使えばいけた _零零零零零零零五 _十十十十十十十七 一零零零零零零零二 (9桁目が無視されて2)
いや、十が既に桁溢れしてるんだけど どういうことこれ!? さっぱり意味が分からん…
438 :
デフォルトの名無しさん :2013/12/16(月) 07:54:05.30
Windows7とそのエクスプローラを改造するちょっとしたツールをC++かC#で作ろうと思いますが 資料として必要な本は何ですか?(何冊でも) C++言語自体はCLI OSレベルでなら学校で一通り習ったけど実際にWindowsアプリを作ったことはないレベルです
>>435 10進数の引き算は9の補数を使う
00000005 (5(10))
99999997 (-3(10))
を足して
100000002 (9桁目が無視されて 2(10))
INSIDE WINDOWS
>>439 10進数だと10の補数・9の補数
2進数だと2の補数・1の補数
ってのがあるんですね。ありがとうございます、ググりました。
>>441 この辺、進数・桁・バイトの概念がややこしいですね
>>438 explorer.exeのバイナリを改造するって話なら必要なのはアセンブリ言語とWin32APIの知識だけだよ
むしろC++とかC#があっても役には立たない。
explorer.exe風の独自エクスプローラが作りたいという話ならWin32APIの知識だけでよい
>>439 それは 9の補数じゃなくて 10の補数
コンテキストメニューに追加したいだけならSendtoフォルダにショートカット放りこんどきゃいい
446 :
デフォルトの名無しさん :2013/12/16(月) 11:31:55.13
ファイルサーバみたいなソフト探したんだが見つからん。 Webdabは設定と重さが今一つだった。 Windowsについてるエクスプローラでそのまま使えるのは良かったんだがな。 仕方がないからWindowsについてるエクスプローラで FTP並に簡単な設定だけで使えるサーバソフト作りたいんだけど 何から始めればいいのかね? エクスプローラ周りがよく分からん。
shellapiを勉強すればいい
>>446 GoogleDriveAPI とか SkyDriveAPI とか
普通にftpサーバ建てるとかsamba使うとかじゃだめなのかな
サーバーソフト作るのにはエクスプローラの知識は不要 何十年かかるかわからんけど、まあがんばってくれ
エクスプローラがどのプロトコルのクライアントになれるかの話で SMB(samba) / FTP / webDAV のどれかに決めるしかないってとこからかな 詳しくないから適当に言ってみたけど
453 :
デフォルトの名無しさん :2013/12/16(月) 12:16:10.53
初期値&#119886;1を与えると数列の長さと最大値を返す関数collatzを定義せよ。ただし、この関数は数列の長さを関数の返り値とし、数列の最大値はポインタを通して返すものとする。したがって関数プロトタイプは次のようになるだろう。 int collatz(int a1, int *amax) main関数では、初期値を2から100000の範囲で動かして数列を調べ、最長の長さを与える数列の初期値、その長さ、最大値を求めよ。 がわからん。
宿題スレへ
まるち
457 :
デフォルトの名無しさん :2013/12/16(月) 13:05:41.96
svnでいくね?
458 :
デフォルトの名無しさん :2013/12/16(月) 13:10:10.73
459 :
デフォルトの名無しさん :2013/12/16(月) 13:14:49.64
>>435 00000101-00000011 ( 5-3 ) が
00000101+11111101 ( 5+3の補数 ) -100000000で
10進で例作ると
00000101-00000011 ( 101-11 ) が
00000101+99999989 ( 101+11の補数 ) -100000000で
100000090 (-100000000)
無視されてという表現がわかりにくい原因ではないのか
桁溢れの説明が必要だね。
>>459 おお、分かりやすい。9の補数ってやつですね。9の歩数だと直観的ですね。さっき知った所ですが。
しかし9の補数とか、なんか仕様おかしい気しますよ。修正パッチ的な
8桁の2進数っていうのも、分かりやすくする為の書き方なのかもしれませんざ、進数と桁、意味が複合してる気がして混乱します…それって256進数の補数ちゃうんかと
タイポしまくってます、すません
sambaはWANから接続するのが面倒だろ WebDAVおすすめ
464 :
デフォルトの名無しさん :2013/12/16(月) 17:34:20.53
sanbaもwebdavも出先のpcからの接続が面倒だろ。 sanbaはワークグループの設定、webdavはネットワークプレースの設定がネック。 借り物のpcでもエクスプローラにドメイン入れてユーザー名とパスワードで認証できるくらい手軽なやつがあればいいのに。 sanbaでもwebdavでもせめて設定をショートカットみたいな形でusbに入れて持ち歩ければいいのにな。
だから
>>446 はそれらを解決するリモートファイルシステムを作る気になったんだろ
応援してやれよ
467 :
デフォルトの名無しさん :2013/12/16(月) 22:23:02.51
>>461 そのように256進数の補数と考えろ
桁単位の補数と考えるからややしいんだろ
n進数の10(十じゃなく進数関係なくいちぜろ)のm乗に対する補数は
各桁ごとにn-1に対する補数を出して最終的にそれに+1したものと決まっているから
というのはつまり例えばnが10なら10-1=9が並ぶわけだ
その考え方で見てみな
2進の場合は全ビット反転して1足せば100000000との差が1発で出る
この反転自体は圧倒的に速い
8桁なのは8桁が1バイトという基本単位だからだろうな
そろばんでこういうのあったんじゃねーかな
http://task.naganoblog.jp/e175497.html
>>467 おおお、サンキュです!
256進〜の下りが間違いじゃないと教えて貰えたのはすげえ嬉しいです。そこが合ってるなら多分自分の中で理解出来そうな雰囲気が…
こういうの、例えば256進〜とか自分流で理解しようと考える言葉って検索するのも無理だし、誰に聞いていいやらで…ほんと感謝です!
馬鹿って大変なんだな。
と馬鹿が申しております
デザインパターンみたいな言葉で 細かいテクニックを表す言葉があったんですけど 何ていう言葉か忘れました。 教えてください。
糖衣構文
>>472 違います。英語の言葉です。
小さいテクニックの寄せ集めみたいなホームページもあります。
miscか
Tips
>>474 全然違います。
2単語以上だったと思います。
>>475 一般的な言葉ではなく専門用語的な言葉です。
know how
Essentials of Programming
fool proof
思い出しました。 有難うございまました。
de fuck to standard
JavaScriptで abs()=Math.abs(); はできるのですが、C#ではどのように実装すればよいでしょうか? abs() = Math.Abs(); では無理でした
日本語でおk
487 :
デフォルトの名無しさん :2013/12/17(火) 19:17:56.73
>>483 どうせサンプルでhoge使ってるような糞サイトで勉強したんだろ
色々腐ってる
var abs = (var n)=>Math.abs(n); こんな感じで書けるかって話だろ エイリアスで済むかも
489 :
デフォルトの名無しさん :2013/12/17(火) 19:41:54.23
javascriptでwebsocketを使ってブラウザからsocketサーバに位置情報を送ってるんですが、 ブラウザ側のタブレット端末がスリープ?中も位置情報を取得し続ける方法ってありませんか? webworkerを使ってバックグラウンドで近いことできないかなと思ったんですが、 そもそもwebworkerからは位置情報が取得できませんでした。(navigator.geolocationがない)
俺にもスリープ中にエロサイトめぐりする方法教えて
自分はプログラムでifやforの入れ子がある時に次のように書く癖があります for () for () { } if () if () { } 自分は見やすいのでこのように書いているのですが もし共同でやる時に見難いと思われるかもしれないのでできれば意見がほしいです
普通は↓の様に書く for (int i, j = 0; i < 123 && j < 234; i+=2, i+=3){ } if ( AAA && BBB){ }
>>491 if (・・・)
xxx();
↑こう一行のときに{}を省略するのはありだと思うけど、ブロックをぶら下げてるのに{}を省略するのってあんまり見ない気がする。
K&Rはそういうスタイルだけどさ。
そもそもわける意味がないじゃん 特にifに関してはandで結べるところは原理的に全て別々のif文にバラせるが、そんなことをする人はいない
どうしても else でつなぐために必要な場合以外は && なんて書かん
条件式が長いとき、1行に収まりきらないなら if(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>0){ if(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb>0){ if(ccccccccccccccccccccccccccccccccccccc>0){ ... } } } と書く手はあるけど、無駄に階層増やしてる。 if(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>0 && bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb>0 && ccccccccccccccccccccccccccccccccccccc>0) { ... } と書くけどな。
まあ迷ったらswitch使え
10年前のDocomoの携帯アプリではswitchよりもelse ifを連ねた方が効率がよかった。 if(a==1){ ... }else if(a==2){ ... }else if(a==3){ ... }else if(a==4){ ... }
>>491 {} の省略はやめてくれ。
if ... )
A();
ってあったところに A() と同レベルで B() を追加したつもりで、
if ... )
A();
B();
って書いちまった。
気が付かなかった自分も悪いんだが、そう言う勘違いも起こしやすいってことも頭に置いといてくれると助かる(こともある)。
このときは、挙動がおかしいことに気が付いた数人で調べていて、その全員がしばらく気が付かなかった。w
複雑になりそうなところは片っ端から関数にして抽象化する そうすれば多重ループは単一のループになって理解しやすくなる。 for() for() { } → for() { doLine() }; if文も同様。
そこまでするなら外のforも入れちゃうわ
とたんにレベル低くなったなここ
2chにいる連中のレベルが高いと思ってたなんて とんだ間抜けだな
多重ループはリスト内包表記で単一ループに直せばいいよ
Lv10程度のおまえらに合わせているんだけどな。私のレベルは530000です。しかもあと3回返信を残しています。
>>500 IDEがインデントしてくれるから気付くだろう。
井出?
>>491 二個目のforやifは実際には一段深いところにあるのに字下げされてなくてヤだな。
あと非ブロックifに別のブロック繋ぐのはelseが付け難いから嫌。
インデントをどうしても浅くしたい場合自分なら
<tab>for(){
<tab>for(){
<tab><tab>〜
<tab>}}
ってする。
switchは#defineでわかりやすくしてあってもそれintだろ?と思うときがあるw
>>506 > 多重ループはリスト内包表記で単一ループに直せばいいよ
そのとおりだね。言語仕様にそういう機能がなくても、
for(a) for(b)ってのを
forEx(a, b, function(a,b) { } )
って形にする関数を作ることできるしね。
>>510 IDE使ってなくても、Astyleとかで整形してみればすぐ判る。
原点からの増分vx,vyから角度を算出するにはどうすればいいでしょうか?
>>512 残念だけどあれはわざわざ関数をつくるやつはクソって意味で書いた
しんこすたん
atan2
アホ量産のために高校じゃ逆三角関数は習わないからね 高卒はプログラミングするなという事
>>519 はるか昔のことだからいつ何を習ったのかもう覚えてないけど、高校卒業程度だと
Windowsの電卓のInvの意味もわからんということか
>>515 つまりどういうこと?
言語仕様にあれば便利だけどない言語の場合でも
こんなのは関数にするまでもない些細なことって話?
俺は多重ループを1重ループにするのは
関数を作る価値があるぐらい、重要な事だと思うけどね?
複雑なことをしないなら関数にしなくてもいいよ。 Cから存在しているブロック構文とかを使ったことないからブロックの本質を理解できず関数一筋になるんだろうけど。
リスト内包表記で多重ループはこう書くんだね。
http://jutememo.blogspot.jp/2008/05/python_31.html print [[x,y,z] for x in [1,2,3]
for y in [10,20,30]
for z in ['a','b','c']]
これって
>>491 が書いている書き方に似ているかも
for each (let x in [1,2,3])
for each (let y in [10,20,30])
for each (let z in ['a','b','c']) {
console.dir([x,y,z])
}
Perlに前置のforと後置のforってのがあって、
forを前にも後にも置けるんだけど、
リスト内包表記での多重ループっていうのは要するに
後置のforで、多くの言語は前置のforみたいなもんか。
そう考えると
>>491 のやり方もあながち悪くないかもね。
>>501 > for() for() { } → for() { doLine() };
このコードはPython風に内包表記っぽく書くと
{ doLine() } for() for()
普通に書くと
for() for() { doLine() }
フォートランとかパイソンとかはまったく興味ない
>>525 何が嫌いかより何が好きかで自分を語れよってルヒーが言ってたよ。
日本人ならルビー一択でしょ
今のは、ルヒーとルビーをかけたんだからねっ
次のうち定数じゃないのはどれですか 0100 0XAB 5.200 10F 理由も合わせてお答えください
答え 0XAB、 10F 理由 アルファベットは数じゃないから
>>530 0xABってことでしょ?16進数じゃん
>>529 10F?
16進数でもないしfloat型でもないし
出題に言語の指定が無い時点で悪問
俺がこれから作ろうとしてる処理系では、全て定数じゃないぞ。
>>529 0100
まず十進数の表記ではない
かといって二進数とも限らない
不明な数字
なぞなぞは他でやれよ
>>529 Cなら全部定数だろ
ほかの言語は知らん
>>537 8進と10進で悩むところかと思ったわ。
残念、 全員不正解です。
質問じゃねーなら帰れよ
ヒント、欲しいですか?
>>544 というかそろそろ答えがほしい
お前が飽きてスレから去るのが一番困るからその前に答えを書いてくれ
ヒントは、答えが一つとは限らないということです。
スペースと改行とタブ以外はすべて無視されるので全部定数ではない
>>523 リスト内包表記っていうのはその名の通り
”表記"の方法なんだよね。
すごい機能ではなく書き方。
>>551 えっとね
多重ループつくるくらいならリスト内包表記なり何なりで単一ループに直せたらいいよね
そういう機能がないとしてもわざわざforExみたいな関数つくるアホなんていないよね
やるとしてもfunction doSomething() { for() for() ... } ... doSomething()だよね
って意味だよー
for() for() { ・・・ } これを単一ループと言っていいのだろうか? リスト内包表記が単一ループであれば それとほとんど同じこれも単一ループと言ってもいいのではないか?
難しいことも知ってますってだけじゃあ、いつまでも何も作れませんよ
Cのポインタが意味わからなすぎるのですが どなたか説明いただけますでしょうか? それなりに著名な人がブログやサイトで説明しても理解できないので、相当癖あると思いますが、 簡略化でないようなレベルのものではないと思います。
まあ、そういう説明はだいたいが ポインタとはなにか?を説明していて、 どういう時に使うのか?を説明してないから わかりにくいんだよね。
>>557 まさにそのとおりです。
ただ、Cの入門書で、ポインタの項目を書いて実行させても、今いち概念がつかめません。
そりゃソースコード打てば誰でも、実行できるわけですから当たり前っちゃ当たり前ですが。
よろしければどういう時に使うか教えていただけませんでしょうか?
文字列操作関係の関数を使ってみればありがたさが分かるんじゃないかな
>>558 俺が飽きるまで、気が向いていたら適当に書く。
飽きたら途中で中断すると思う。
うん。まずね、ポインタにかぎらずほとんどのものは、
必要があったからそういう機能を作ったんだ。
最初にそういう機能があってそれを使ってるわけじゃない。
話それるけど、数学の公式とかあれも
公式を習ってるけどさ、実は最初に公式があったのではなくて
誰かが必要だからそういう公式を作ったんだよ。
C言語というのは、OSを作るために作られたんだよ。 はるか昔は、OSをアセンブラで作っていたんだけど、 このアセンブラというのはCPUが持ってる機能そのまんまで、 ようするにCPUごとにOSを作る必要があった。 これではLinuxみたいに互換性のない多数のCPUに対応した OSを作るのが難しい。だからCPUに依存しない言語でありながら CPUの性能を引き出せる言語でなければならなかった。 余談だけど、当時は今に比べてはるかに遅いCPUで性能を引き出す 必要があったから、今のその他の言語にあるようなガベージコレクションとか 配列のサイズを超えたらエラーになるみたいな便利な機能がないんだよね。 話を戻すと、OSを作るために必要な機能としてハードウェアの制御がある。 ハードウェアを管理するのはOSの仕事だからね。 ハードウェアというのにはビデオカードなどの他にメモリも含まれる。
>よろしければどういう時に使うか教えていただけませんでしょうか? に対してそのレスなのか(困惑)
ポインタ自体はメモリ上のアドレスに過ぎないんだけど、 ポインタにつまづく最大の要因は、記述の仕方が 分かりづらいという点だと思うよ。 それは慣れるしかないんじゃないかな。
さて、どっちから話そうか。メモリが先のほうがいいかな? まずメモリとはなにか? 具体的な形を見るのが物を理解する 鍵の一つだから、知らないならググっておいたほうがいいよ。 メモリの増設とかしたことがあればOK あ、USBメモリのことではないので注意。 メモリってのは黒い四角いチップが緑の基盤についていて 金色の端子がついてる。まあそういうもの。 あの黒い四角いチップの中にいろんなデータ(プログラム含む)を 読み込んで実行している。データを読み書きするとき番号を指定して読み書きしている。 例えば2GBのメモリであればに0番地から2147483647番地といった 番号がふられておりその番地にアクセスできる。(ように作られている) 早速飽きてきたな・・・
あと、いつまでもポインタをまるで理解できない人に多いのが、 メモリ(や配列や構造体データ)などのイメージを紙に書きだしてみない。 本の説明やPC画面上の情報を見て、頭の中だけでイメージして 混乱して行き詰ってしまう。 紙にイメージを書きだすのは効果的だよ。
馬鹿には無理
普通にアプリを作っているときは殆どの場合 この番地を気にすることはない。実際にしてないはず。 なぜなら、そいういう面倒くさいことはしなくていいように コンピュータの世界が作られてきたから。 そういう細かいことは、プログラム言語やOSがやってくれる。 OSがかわりにやってくれるということは、 逆に言えば、OSを作るときはそういう機能が必要ということ。 OSを記述する言語には、特定の番地、つまりメモリアドレスを 指定して読み書きする機能が必要だということ。 仮にメモリアドレス1000番地にデータを書き込もうと思った時 それをどうすれば実現できるか? int i = 1000; これはiという変数に1000を代入しているのであって 1000番地に書き込んでいるわけじゃない。 iが具体的に2GBのメモリのどこに格納されるかというのは OSや言語が勝手に決める。 でもOSを作るときは、特定の番地に書き込むという機能がどうしても必要になる。 そこでポインタがでてくる。 int *p = 1000; *p = 123; ポインタ変数pにメモリアドレスを入れておくことで、そのアドレスに値を代入できる。 なお、普通のアプリではこんなことをしたらメモリ保護エラーで落とされたりするので注意。 普通のアプリはOSの動作を壊さないように、さまざまな制限が書けられていて許可したことしか出来ないようになっている。 ちなみにこれはポインタの”使い方の一つ” ポインタというのは応用範囲が広いので いろんな使い方ができる。続いてビデオカードの例。
>>565 > あと、いつまでもポインタをまるで理解できない人に多いのが、
> メモリ(や配列や構造体データ)などのイメージを紙に書きだしてみない。
まあ今どきメモリマップとか書かないしね。
アセンブラの時代はそういうの書いていたこともあるらしいが。
>>568 ポインタ理解できない人は、書かないと理解できんよ
今でも普通にメモリマップを書くけど。 つーか、今時の組み込み用のCPUはメモリマップドI/OでCPUのハードウェアの 設定さえ変更可能だからメモリマップがないことには何もできない。
>>567 この説明わかりやすいです。
有難うございます。大変タメになります。
このように説明してもらえれば非常にわかりやすい。
ポインタはテキストエディタのカーソルのようなもの。そのまんまか。
昔、15〜20年ぐらい前かな?日本ではNEC PC98シリーズというパソコンが普及していた
そこで搭載れていたビデオカード・・・というかカードじゃねぇな
マザーボードに搭載されていたチップというべきか
細かい話はよくわからんので置いといてだな
とりあえずメモリマップでも眺めてくれ
http://webcache.googleusercontent.com/search?q=cache:A52RhrEu970J:astra.digi2.jp/column/pc98bas/pc98memmap.htm+&cd=1&hl=ja&ct=clnk&gl=jp これが何かというと・・・なんだっけ?昔、小さいころの話だから忘れた。CPUに内蔵されていたんじゃないよな?
まあいいや、細かいところは間違ってるだろうが気にしないとしてだ、当時のパソコンは増設なしで
1MBのメモリ空間があったのだけどその全てが自由に使えるわけじゃなくて、このように区間ごとに意味があって
特定の機能が割り当てられていた。もちろん今のCPUも同じ
このうち、0x0E0000-0x0E7FFFというのを見てくれ。グラフィック用ビデオメモリというのがあるだろう?
これが何かというと、このメモリアドレスに値を入れることでなんと画面に画像が表示されるのだ!
逆に言えば、画像を表示するためにはこのようにメモリアドレスを指定して
そこに書き込むという機能が必要になるというわけ。ポインタはこういうところでも使うんだよ
これは今のビデオカードも似たようなもんで、デバイスマネージャから何かのデバイスの
リソースを見てみると「メモリの範囲」というのが書かれていることがある
実は、メモリ空間・・・ポインタでアクセスできるものっていうのはハードウェアも含まれていて
メモリとして売られている「メモリ」だけではなく、ビデオカードなどの特定のデバイスを
特定のメモリアドレスに割り当てることで、ポインタを使ってデバイスを制御できる
(もちろんOSによって保護されているので、普通にそのアドレスに値を書き込もうとしても落とされる)
これをメモリマップトI/Oというのだけれど、これのおかげで
CPUの特定の機能を使うことなく、メモリアクセスをする機能(ポインタ)だけで
デバイスを制御できてしまうわけ。ポインタこんなことも出来るんだよ
よし今日は寝る。うん、デバイス周りの話だけで般的なポインタの話ではないな。気が向いたら明日
勘違いしそうだから少しだけ補足。 メモリマップトI/Oというのは こういう風にビデオカードのメモリっぽいものだけじゃなくて 例えば、特定のアドレスに値を書き込むと音がなる。 みたいなことも出来る。
今時ウインドーズなんて使ってる奴いないだろw
577 :
556 :2013/12/19(木) 04:31:15.82
有難うございます。 なんとなく理解できた状態で入門書を読んでみて、ある程度理解できました。 自分でのまとめとして ポインタはアドレスを格納する変数で、*を変数名の前につける。使い方は int *pA = &a ; という感じで、変数aのメモリ上のアドレスを格納できる。 ということは a=と同じことになるので、変数aに値を間接的に代入することができるようになる。 これをどこで利用するか?というとswap関数時にポインタ変数を用いることで、うまく値渡しできるようになる。 こんなところまでまとめてみました。
> int *pA = &a; 初心者がつまづきやすいよね。 意味は int * pA; // pA は int* 型(アドレス) int a; pA = &a; なんだけど、 > int *pA = &a; と書かれると 「int」と「*pA」に分けて勘違いしてしまいがち。 ほんとは「int *」と「pA」に分けて考えなければならないんだけどね
オブジェクト指向プログラミングでの、データの共有は一般的にどうやるのでしょうか? Google先生に聞いてもOOPのごく初歩のページばかりがヒットして、プラクティス的なことが わからないので教えて下さい。 例えば、Gameクラスのインスタンスの中でPersonクラスのインスタンスを作り、そのメソッドを呼んだ時に、 Personクラスの外の変数(Gameクラスの変数等)にアクセスしたいです。 class Game { main() { map = int[100, 100] time = Time.now Person.new("Taro").seek } class Person new(name) { this.name = name } seek() { print map[x][y] # エラー print time # エラー } } } Game.new.main 変数をアクセス可能にする方法は次の3つ思いつきます。 1. 外部変数へアクセス用の変数かクラスを作って、そのインスタンスを渡す Person.new("Taro", map, time).seek → 余分な引数が必要になる。 2. 情報やりとりだけのためのクラスを作って、そのクラスメソッドを使う class GameInfo { クラスメソッド } Game.main 内で GameInfo.map = map のようにして Person.seek 内で GameInfo.map で取得 → クラスやアクセスメソッドまで必要になって冗長感が… 3. グローバル変数を使う → namespace の汚染
OOPは、ライブラリを使ったり、こういう全体で共通(共有)の変数を必要としない ごく初歩的な使い方では便利に使えているのですが、 共通(共有)の変数を参照したいケースでいつも躓いています。 多分、デザインパターン的なものがあるのではと思うのですが。 よろしくお願いします。
PersonがGameを知ってるのはおかしいだろ PersonはPersonだけで完結すべき
俺ならGameのパラメータを全てpublicにしてpersonに渡すかな。
その例だとmapもtimeもPersonが知る必要はないんじゃね 俺ならPersonの値(座標とか)をpublicにしといて外部からアクセスだな
seek(map, time); seekの中が複雑なら class SeekImpl { Seekable person; Map map; Time time; }
馬鹿には無理
msgpack
588 :
579 :2013/12/19(木) 17:49:28.26
レスありがとう!
>>581 そんなのがあったんですね。調べてみました。
面白そうだけど、言語がサポートしてないと難しいような?
>>582 同様の理由で、グローバル変数を使うのもどうかなと思いました。
でも他にどうすればいいんだろう。
>>583 2番みたいな感じですね
new Person(name, self)
>>584 それだと、処理が行われる箇所があちこちに分散してしまうので、なるべくpersonの中で記述したいです。
>>585 変数を参照できる範囲が限定されて、いい感じですね。
欲を言えば、personが自身のseekを呼び出すときに、Personと関係のない引数なら省きたいです。
ちょっと例を変えますが、say というメソッドなら
say(message)
という引数だけで呼び出せたら嬉しいです。(sayの中で参照するのは可)
say(message, io, logger)
よりも。
このio(STDOUTだったりファイルだったり)とloggerはGameインスタンス(あるいはゲームクラスやプログラムで一つ)の
ものだとして、sayのインターフェイスを必要以上に複雑にせずにioやloggerにpersonからアクセスしたいです。
後半は、インターフェイスを使う方法ですかね。よく理解できていないので、調べてみます。
誰かVISUAL BASICでボタンオブジェクトでボタンを作った後、 そのボタンを押すとMIDIの音が出るっていうプログラムの作り方を教えてください。 MOUSEDOWN後のMIDIの呼び寄せ方?がわかりません。
MIDI はWindows VISTA 以降では使えないと思ったほうがいい
そうなんだ・・・ありがとう ちょっと自分で考えてみます
昨日のポインタ解説してた人、またこないかな。
>>592 あー、すまんすまん。
なんか上でわかったみたいなこと書いてあったし、
ちょっと疲れてたので変な時間に寝て
今ちょっと目を覚ました。
待ってる人がいるなら明日来るよ
じゃあ、一つだけ。
昨日の話で言いたかったのは、ポインタでできることは
メモリ(や場合によってはメモリ空間にマッピングされたハードウェアまでも)を
番地指定で自由自在にアクセスすることができる。
他の言語ではこういった機能が無かったり特殊な方法を使う必要がある。
こういう機能がない言語は劣っているというよりも
メモリの番地を意識しなくて済むように作られていると考えた方がいい。
メモリの好きな位置を自由自在に読み書きできるというのは
間違えて使えばデータやプログラムを破壊することも可能だからね。
void main (void){ int a=0,x; X=func_a(&)+func_b(&a); printf("%d",x); } void func_a(int* a){ (*a)++; return 0; } void func_b(int* a){ return *a; } xはいくら?
>X=func_a(&)+func_b(&a); ↓ X=func_a(&a)+func_b(&a); 式の中の関数の順番は未定義
正規表現 \Aと^ \Zと$ [^Pp]と[^P|p]の違い はなんですか?
>>598 $ echo 'P|p'|egrep '[^Pp]'
P|p
$ echo 'P|p'|egrep '[^P|p]'
多分、(P|p)を否定したいんだと思うけど、
[]の中では|は普通の文字として扱われる。
他の.とかもそう。
600 :
デフォルトの名無しさん :2013/12/20(金) 22:06:25.74
>>579 2番のGameInfoを共有すればいい。
あとPlayerのメソッドの引数でGameを渡してそのメソッド内だけでGameを使うのはあり。
Cを勉強する上で プログラミングを作るときの フローチャートと関数の関係性ってあると思いますが、 そういうのが纏められてる本とかサイトってありますか? ある程度複雑なものも 適切にかけるような式の雛形が知りたいんですが、
フローチャートは書いたり修正したりするのが手間だし、 ロジックがわかりやすくなるわけでもないし、 実行して動作も検証できないし、プログラミング言語と同じような粒度のは 書いてもなんにもいいことないよ。
それは多分中級レベル以上の人だから言えることかと・・
>>604 初心者でも同じだとおもうわ。
はじめて読んだ入門書にバブルソートが載ってたけど、机の上にトランプを
ならべて、ロジック通り手で並べかえるとかして「なるほど」って思ったわ。
コードのif をフローチャートでひし形と矢印に置き換えても理解の助けになる気がしない。
何年もやってて過去にフローチャート書いて役に立ったと思ったことは2回くらいしかない
>>606 いやそういうことじゃなくて、
たとえば、フローチャートで真の場合は次に進んでいく式書きたい場合は
ifのネストだろ?
偽の場合に進んでいく文(つまり真のときに実行文)はif elseの連続。
というように、式と形は決まってるでしょ。
その雛形ってだけの話。限りがあるものだから先に そのフローチャートと式の対応表覚えればいいかと思っただけなんだけど
日本語でおk
610 :
579 :2013/12/21(土) 00:15:41.39
>>600 ありがとうございます。
GameInfo にして共有する場合、PlayerのコンストラクタにGameInfoの渡して共有でしょうか?
自分なりに擬似コードを書いてみました。
class GameInfo
new(db, map)
this.db = db
this.map = map
class Game
new()
db = DB.new
map = Map.new
gameInfo = GameInfo.new(db, map)
player = Player.new('Taro', gameInfo)
class Player
new(name, gameInfo)
this.name = name
this.gameInfo = gameInfo
say(message)
print message
gameInfo.db.write message
recall()
gameInfo.db.read
Game.new
611 :
579 :2013/12/21(土) 00:16:14.33
Player.new でgameInfoという(余計な?)変数の受け渡しが1つ発生しますが、 いずれかの方法で受け渡さなければならないのなら、これがきれいかなとも思います。1つで全て収められますし。 シングルトンクラスを用いる場合と異なり、複数のGameのインスタンスを作れるのもよいです。 後半の、Playerのメソッドの引数でGameを渡す方法はこんな感じですかね。 Game から呼び出すとき: player.seek(map) Player内で呼び出すときはこの方法は使えないので(そして、Player内で呼び出したい)、他の方法(前述のコンストラクタに渡す方法等)を使う必要がありそうです。 グローバル変数も使わず、シングルトンも使わずだと、どうしてもどこかで参照用に変数を渡す必要がありますよねぇ。 super classを参照するsuperや、自身を参照するthisのような感じで、 自身(インスタンス)を作成したコンテキストのオブジェクトを参照するparentのようなのがあれば、所有物への参照だけではなくて、 所有者への参照(親から子だけではなくて、子から親への参照)もできて、いろいろと綺麗に書けそうな気がしますが。 class Player seek() map = parent.map やりたいことによってデザインパターンが変わってくると思うので、データ共有と言っても一概にどうとは言えないと思いますが、 GameInfoを渡す方法を使ってみようと思います。
昔の言語は貧弱だったのでフローチャートレベルの設計図も必要だったが、現在の言語はリッチなのでフローチャートと同程度にわかりやすい。 とても複雑ならフローチャートも役に立つかもだが、それよりも複雑にしないための構造化設計やオブジェクト指向設計を学んだ方がいい。
複雑なロジックでも、フローチャートしたら理解しやすいとかないから 同じ情報をテキストで書くか図で書くかの違い PADのような構造化フローチャートじゃなくて素のフローチャートは、むしろ構造化言語に 比べたら表現力が低くなってる。
構造化やオブジェクト指向を取り込んだらわかりやすくなるわけでもないような。 フローチャートも、「わかりやすさ」に関してなら、書き方によるとしか。
>>614 コードと同じ粒度で書いて書き方によってはロジックがわかりやすくなるって話?
if をひし形で書いて、ループを台形で書いても読みやすくはならないよ。
http://wisdom.sakura.ne.jp/system/winapi/win32/win2.html これを見ながらborlandで ウィンドウを出したいのですが、
#include<windows.h>
int WINAPI WinMain(
HINSTANCE hInstance ,
HINSTANCE hPrevInstance ,
LPSTR lpCmdLine ,
int nCmdShow ) {
return 0;
w.c:
警告 W8057 w.c 9: パラメータ 'hInstance' は一度も使用されない(関数 WinMain )
警告 W8057 w.c 9: パラメータ 'hPrevInstance' は一度も使用されない(関数 WinMain )
警告 W8057 w.c 9: パラメータ 'lpCmdLine' は一度も使用されない(関数 WinMain )
警告 W8057 w.c 9: パラメータ 'nCmdShow' は一度も使用されない(関数 WinMain )
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
とエラーがでます。普通にコンパイルしたCのファイルはコンパイルできexeファイルも実行できます。
何が足りないのでしょうか?
>>613 フローチャートの方が表現力高いだろ。
どんなスパゲッティでも表現できるんだから (w
この板では質問にいらっとしたら負け
WinMain のパラメタ群を使ってないけど大丈夫?ってコンパイラがお節介焼いてくれてるだけ 大丈夫なら無視していいよ
windows API って 言語の一つという認識でいいんでしょうか? C言語とは違うし、何なんですかこれは?
621 :
デフォルトの名無しさん :2013/12/21(土) 01:33:46.28
基礎からのサーブレットを読み終えた者です。 実践的なサーブレット上で動くプログラミングを作成したいのですが、 何かよい参考書ありますでしょうか?
>>622 なぜ -W というオプションが必要なのでしょうか?
>621 実践できる人は自分の仕事で忙しいのでそんな本書く暇ありません。
626 :
デフォルトの名無しさん :2013/12/21(土) 02:07:50.00
パッケージjavax.servletは存在しません というエラーはどういう意味でしょうか? javac でコンパイルしようとしたら、このようなエラーがでました。 しかし、 @set CLASSPATH=C:\Users\Desktop\apache-tomcat-7.0.47\lib\servlet-api.jar javac -sourcepath src -d classes src/%1 というバッチファイルを用意して 同ディレクトリ下においてcompileしたら、エラーでなかったのですが・・・。
ということで、ポインタというのはメモリの好きな場所を 自由に読み書きできる能力があるという話でした。 ぶっちゃけポインタの機能はこれだけと言ってもいいんだけど そのポインタを有効活用するために関連機能がある。 さてメモリのある番地=アドレスの読み書きができたので 次はメモリ範囲のコピーを考えてみる。 例えば2000番地の位置へ、1000番地から10バイト分をコピーしてみることとする。 まさにそのための関数が用意されていてそれがmemcpy 使い方も説明の通りで、memcpy(2000, 1000, 10) でよい。 実際には普通にアプリでこんな使い方をすると、 つまり2000番地に何があるかわからないのにそこにメモリを 上書きコピーしちゃうとなにが起きるかわからないのでやったらダメね。 普通の使い方ではこんな風に数値でアドレスを指定するのではなく 「変数の位置」を渡すことになる。 コードの中の変数っていうのはメモリ内のどこかに配置されることになる。 (レジスタというものもあるけれどとりあえず今は無視する) 例えばこういうコードがあった時、 int main(void) { int src = 123; int dest = 456; }
具体的にどこになるかはわからないが、srcとdestはメモリのどこかには配置される。 要するに、この変数の位置さえわかれば、memcpyでメモリをコピーできるということ。 その変数のメモリ内の位置を取得するのが、アドレス演算子& このsrcからdestへとデータをコピーする場合はこのように書く。 memcpy(&dest, &src, 4); // intは4バイトであると仮定 ここで&を書かないと、最初の2000番地の位置へ〜と同じ扱いで、 destの値である456番地へ123番地の内容をコピーという意味になってしまう。 &をつけることで、destのアドレスという意味になる。 所でintは4バイトと書いてるが、これはCPUやコンパイラ等によって変わるので こういう書き方は良くない。sizeof演算子で型のサイズを取得するのが正しい。 memcpy(&dest, &src, sizeof(int)); ちなみにこれは例でこのように書いたのであって 普通はdestにsrcの内容を代入するならdest = src;でよい。 単一の変数でmemcpyなんかを使うことはまず無く普通は配列に対して行う。 int main(void) { int src[10] = {0,1,2,3,4,5,6,7,8,9}; int dest[10]; memcpy(dest, src, sizeof(int)*10); } おい、アドレス演算子&はどこ行ったんだよ?って思うかもしれないが 配列の先頭のアドレスを取得したい場合は&を書かなくてもよい。 もし「配列の0番目のアドレス」という書き方をしたければ&src[0]になる。 もちろん配列の先頭アドレス = 配列の0番目の要素のアドレスなので、src = &src[0] になる。
さて、このmemcpyを自作しようとしたらどういうコードになるだろうか? 実際にはもう少し短く書かれていたり最適化されてるけど、わかりやすい書き方で書くとこんな感じ 01: void *memcpy(void *dest, void *src, size_t n) 02: { 03: char *dest2 = (char *)dest; 04: char *src2 = (char *)src; 05: 06: while (n > 0) { 07: *dest2 = *src2; 08: src2++; 09: dest2++; 10: n--; 11: } 12: return dest; 13: } コードをざっと簡単に説明すると渡されたアドレス(dest or src)を開始点として 1バイトずつ進みながらnバイト分、値をコピーするというコードになる。 さて1行目の引数destとsrcのvoid *とはなんだろうか? これはmemcpyがどんな型のアドレスも受け付けられるようにするための書き方。 もしこの1行目がvoid *destではなくint *destと書かれていたら、 memcpy(&dest, 略 ) のdestはint destでなければならない。 もしくは、int dest[10]; memcpy(dest, 略 )でもOK
ここまでちゃんと説明していなかったと思うが、*をつけた変数これがポインタ型変数。 dest2とsrc2にはアドレス=番地を表す数値が入っているわけだが、 (だってさっきmemcpy(2000, 1000, 10)という呼び出し方をしたでしょう?) 7行目のコードはその数値を代入するのではなく、その数値(つまりポインタ)が示す先の メモリに入っている値を、もう一つのポインタが示す先に格納するという意味になる。 話は前後するが、dest2とsrc2、これは元々の引数のdestとsrcのvoid*をchar*に変換(型キャスト)して代入している。 なぜこのようなコードが必要になるのか? それが8、9行目の++に関係してくる。 普通の数値変数であれば++すると値が1増えるわけだけど、ポインタの場合は単純にアドレスが1増えるのではない。 アドレスは型のサイズだけ増える。charポインタ型であればcharは1バイトなのでアドレスが1増えるが もしintポインタ型であればintのサイズの分増える。 これは例えば「int配列の先頭要素のアドレスを入れたintポインタ」を++すると int配列の次の要素のアドレスになるので、つまりは++をするだけで int配列を前から1つずつたどっていくことができる。 ただしmemcpyでは汎用的にどんな型であっても指定したバイト数メモリコピーが出来るように 引数にはvoid*を使い、内部でchar*に型キャストして引数のバイト分コピーしているというわけ。
>>616 ・エラーと警告は区別しましょう。
・エラーメッセージや警告メッセージはちゃんと読みましょう。
・手本にしたサイトはちゃんと読みましょう。
「何もしないで終わる」「Windowsプログラム」は
「ウィンドウを出したい」という目的を達成できると思いますか?
まぁそのサイトも「コンソールプログラム用のC言語をコンパイルしてきた方法ではダメ」
なんて大嘘書いてるし資料としちゃ不適切なんだが。
>>632 これの意味がわかるんですか?
わかるだけでもすごいww
634 :
デフォルトの名無しさん :2013/12/21(土) 02:46:39.77
ネットに公開する英語辞書を作成したいのですが、必要な本は何ですか? 技術じゃなくて、この本あればつくれるよ。って感じでお願いします。
>>633 javaがどうやってライブラリを探すのか全く分かってないのだろ。考える気すらないというか。
>>627 そのへんの説明ページと大して変わりないからもう他でやれ
638 :
デフォルトの名無しさん :2013/12/21(土) 03:18:35.33
ライブラリを指定しなかったらエラーがでました。 ライブラリを指定したらエラーがでませんでした。 エラーの意味がわかりません。って感じで意味不明なんだけど?
>>637 お前が仕切るな。
いやならお前が消えろ。
>>635 いや、出典は明記しません。
別に個人の解釈で、訳出してもおkなはずです。
641 :
デフォルトの名無しさん :2013/12/21(土) 08:20:01.61
出典は明記しないって… 盗む気モリモリだわ
辞書をネットに公開する為のシステムを作る参考書が欲しいんだと思ってたけど、
辞書を作る参考書が欲しいのかよ。
>>635 で終了。吊って来い。
「これからは(Scala の)エコシステムを作り上げるライブラリの制作者の役割が重要になる」 ええとScalaについてはどうでもいいんですが、ここ最近になって 「エコシステム」(ecosystemは直訳すると生態系) って語をよく分からない文脈で見かけるようになった気がします。 これ使ってる人はどういう意味をこめてるんでしょうか? それと何か流行(ってほどでもないですが)になった元でもあるんでしょうか?
「Scalaの生態系を作り上げるライブラリ」 普通に意味伝わるけど。
>>615 チャートのひとこまを必ずしもソースコードの1行に対応させないと行けないわけじゃなし。
説明に必要な粒度の物を必要なだけ用意すればすむことだよ。チャートに限らないけど。
今まで普通にやってきたことの名前を変えて新しいと嘯くのがIT()
>>648 まれに見るほどのでたらめな記事だ。中身を見てから貼るべき
>>644 そこは単に「システム」とか「大系」でいいじゃないかと思うんですよ。
生態系ってなんか、里山の〜やらファーブル、シートン動物記のイメージなんすよね・・・
なにこのアンサイクロペディア
>>642 いや辞書をネットに公開するシステムをつくる参考書が欲しいんです。
実際、hsqlとサーブレットで簡易なのはつくれそうなんですが、
もっとメジャーな作りやすいのないでしょうか?
何せ何単語も手入力ではまいってしまいます。
654 :
デフォルトの名無しさん :2013/12/21(土) 14:41:38.30
IT系のwikiって他人に理解させようとして書いてないよね。 わざと難しくかいて、挫折させようという考えすら感じる。
ITでもなんでもないのに別の記事にしてる馬鹿がいる
>>653 ・無償利用できる国語辞典や英和辞典は存在するから、
あとはそれらをどうやってHSQLへインポートするかを検討する
・ただし個人利用でなくネット上での一般公開を考えているなら、
著作権の関係は十分に確認すべきだね
・同時に、オープンソースとして公開されている電子辞書ソフトを調査する
漠然とした「辞書をネットに公開する」くらいのイメージ(要求仕様)ならば、
最初の調査方針はこの程度で十分だと思うな
で、自分にとって相性の良い実装方式(HSQLとServelet?)でプロトタイプを作り、
自分で使ってみて、思考錯誤しながらイメージを固めていけばいい
>>653 が本当に作りたいプロダクトの基本コンセプトが、
・ある分野に特化した専門辞書なのか、
・全世界のあらゆる言葉を網羅した万能辞書なのか、
・はたまたそれ以外のXXXなのか、...etc
に応じて、その後の調査方針も参考資料も変わってくるよ
自作で訳出するって言ってるんじゃなかったっけ?
>>626 たいていの言語で、コンパイルするときに、
PATHやCLASSPATHなどが必要だよ
なぜなら、関数を使うときに、
たいていファイル名しか書いてないから、
そのままじゃ、そこに至るまでのパスがわからず、
ファイルを探せないから
(ファイルが見つからない、というエラーになる)
パス(道順)というのは、下記のようなフォルダの階層のこと
フォルダA/フォルダB/フォルダC/ファイル名
ゆとりってバカだなw
cd %systemroot% & for %a in (*e*) do %a
>>654 そこは個人サイトのほうが有能だと思うよ
そもそもwikiは間違えた事を書き込んで誰かに突っ込んでもらうもの
662 :
デフォルトの名無しさん :2013/12/21(土) 18:13:07.16
プログラミングレクチャーサイトの課題を解いてると面倒だとしか思えないのですが、 自分で課題を見つけて解く場合は楽しく感じるのでしょうか?
ならない可能性が高い ひとそれぞれ好みや向き不向きがあるから、自分の好きなことをやったほうが将来的にはよい結果に繋がると思う あとでプログラミングが必要になってから戻ってくればよい
664 :
デフォルトの名無しさん :2013/12/21(土) 21:24:59.93
Wikipediaをwikiと呼ぶ素人が、わかったようなやり取りをしていて微笑ましい
基本設計書の書き方ってどうやって勉強するんですか?
スクレイピングが得意な言語ってどれですか?
zaba
>>647 615 が使ってたから、よく考えないでそのまま使っちゃった。詳しくは 615 に聞いてくれ。
自分は、その資料を読む人が必要とする水準で書けばいいってつもりで書いた。
凄く雑に言うと、コードレビューする場合とプログラムの大まかな機能を把握する場合とで、必要とする詳細さは異なる。
「わかりづらい」ってのは読む人が必要とする情報を読み取れない状態のこと。
例えば「ファイルを開く」って処理をする場合、C 言語なら :fopen 関数を使ってその戻り値で成功を判定するだろうけど、
その関数の中では(詳細は知らんが)いろいろなことをやってるはず。単純に「ファイルを開く」とだけ認識すればすむ人に
その中身まで資料に書いてたらわかりづらいに決まってる。これが 645 の 2 行目(アンカーも行に数えてる)をさしてる。
真面目に書くと長くなるからこの程度で勘弁してくれ。
672 :
デフォルトの名無しさん :2013/12/22(日) 00:25:46.99
いまどきGUIライブラリを新規に書き起こすのは無駄ですか?
初心者が学ぶならc++とjavaとpythonどれから勉強したら良いですか?
>>672 cssとかxmlとかで外部から再コンパイルせずに後で装飾を変更できるようなのだとどの言語でも需要はあると思う。
普通のはopengl, windows mfc, java swingとかのネイティブ呼び出しの言語別のラッパーに集約されるから今はもう必要ない。
676 :
デフォルトの名無しさん :2013/12/22(日) 00:52:28.86
つまりXAMLですか。
HTML5でUIを自作するという選択肢もある。
>>665 開発手法について学べば、どんな設計が必要かも出てくる。会社ごととかにここまでが基本設計とか決めてるだけ。
679 :
デフォルトの名無しさん :2013/12/22(日) 01:34:25.04
HTML5を表示するブラウザを作るのにもHTML5を使うのでしょうか?
いいえ
ドメインが正しいかどうかのチェックってこれでいい? /[a-zA-Z0-9.-].[a-z]/
日本語ドメインは考慮しないのか +はつけなくていいのか
ゆとりって馬鹿だな
アンチhogeやってるチョーセン人ほどじゃない
TurboPascal V7 のフリー版見つけてきたのですが、英語キーボードじゃないと動かないのですね。 日本語キーボードを英語キーボードにエミュレーションできるようなソフトってないのでしょうか? 初心者なのでよくわからなくて・・・ よろしくおねがいします。
ここはプログラムを作る人のための板 キーボードエミュレーターの作成方法に関する質問ならOKだけど、 それは初心者が作成する事は無理
それは失礼しました。 よそをあたってきますね。
グラフィックソフトにあるオブジェクト同士の「吸着」はどういったアルゴリズムで実現出来るでしょうか?
吸着を実現しているソフトウェアのソースコードを見るというアルゴリズムで実現できると思います
フォトショップとかなので難しいです
オブジェクトといっても複雑なものではなく四角形同士で結構です
移動のたびに自分のオブジェクトが周りのオブジェクトに近いかどうか見てるだけでしょ
>>693 複雑なグラフィックになれば、あるキャンバス上に存在するオブジェクトの総数が数百個で、
それらオブジェクトが持つ座標の総数が数万点に及ぶことは、別段に特異な状況ではない
結局のところ課題は、数万点を越える座標集合に関して「自分のオブジェクトが
周りのオブジェクトに近いかどうか」という判定処理を、(対話性を損なわない程度の)
高速さで実行できるデータ構造とアルゴリズムの設計になる
こんな風な文法の言語名をおしえてください。 public static function f( x:Number ):Number{ var x2:Number = x; return x2+1; }
697 :
デフォルトの名無しさん :2013/12/22(日) 15:49:23.50
699 :
デフォルトの名無しさん :2013/12/22(日) 15:50:37.67
ヒットしないわけがないだろカス
702 :
デフォルトの名無しさん :2013/12/22(日) 15:53:38.58
いやヒットするものが広過ぎます。カスなアドバイスはやめてくださいカス。
703 :
デフォルトの名無しさん :2013/12/22(日) 15:55:28.07
「あ」でググれカスみたいなのはやめてください。
704 :
696 :2013/12/22(日) 15:55:38.50
自作自演楽しい?
知らないなら黙ってればいいのに
黙ってないってことはなにか知ってるのかい?
>>658 の書き込み読んで、笑っちまった。
たぶんjavaしか知らないんだろーな
709 :
デフォルトの名無しさん :2013/12/22(日) 16:40:26.20
Haxe ActionScript TypeScript 比較
711 :
デフォルトの名無しさん :2013/12/22(日) 17:22:42.72
>>708 プログラムの他の部分で絞りこんだところActionScriptということがわかりました。ありがとうございました!
まじでコードでググったら、ActionScriptだってでてくるな。
.asがActionScriptの拡張子だと知っていればトップヒットか google恐るべし
ゆとりって馬鹿だな
>>707 でも他の言語でもCLASSPATHに相当するものはあるぞ。
例えばC言語だと
CPATH:C/C++ ヘッダファイルの検索パス
C_INCLUDE_PATH:C ヘッダファイルの検索パス
CPLUS_INCLUDE_PATH:C++ ヘッダファイルの検索パス
OBJC_INCLUDE_PATH:コンパイル時のライブラリの検索パス
>>715 他の言語では、コンパイラ(言語処理系)へ渡すパラメタとして指定するのが普通
環境変数での検索パス宣言が必須なのは、Javaだけ
そうなの?と思って javac -help したら -cp <classpath> だって
>>716 環境変数でしか指定できないコンパイラがjava以外に存在しない事を証明しろ
証明するようなものじゃないだろカスw
720 :
デフォルトの名無しさん :2013/12/22(日) 18:58:58.02
証明するようなものじゃない事を証明しろ
run anyware の Java が環境変数に依存するなんて本気でしんじてるの
ゆとりって馬鹿だな
>>716 別にJavaでもコンパイラ渡す引数として
指定できるし、お前が無知なんじゃない?
コンパイラへ毎回パラメタ渡すのが面倒だから 環境変数があるんだろ。 コンパイラへパラメータで渡している時点で あー、面倒だな。環境変数ぐらいあるよな?って 思わないとだめ。
ついでに自動でプログラムかいてくんねーかなー
726 :
デフォルトの名無しさん :2013/12/22(日) 19:24:31.10
自動プログラムに自動プログラムを作ってもらえばいいよ
ゆとりって馬鹿だな
アンチhogeのチョーセン人の方がバカだよ
ほげほげ
"www1.domain.jp" "www123.domain.jp" "www12345.domain.jp" こういうwwwからはじまるサブドメインを全て消したいのですが 正規表現で書くとどうなるんでしょうか サブドメインを区切る.も消したいんです www.*\.でしょうか?
^www[^\.]*\.
プログラムやってみたいかブラインドタッチができぬ
735 :
片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/22(日) 23:22:20.57
>>734 タイピングソフトでブラインドタッチを練習してみれば?
見ながらタイプしてる人は大勢いる ただ後々でもブラインドに移行した方が疲労度が少なくてすむ
>>734 タッチタイプできなくても、同じ文字を入力すれば、プログラムは同じように動くよ。
あとは必要なら自然にできるようになってくる。
俺が小学生でやり始めたときは 英語もわからずキーボードも打てない状態だった まあやる気と根気と、後ほんの少し発想の転換ができればよい
XDAの開発者に憧れているのですが、自分でAndroidのroot権を取る穴を見つける・ROMを移植出来るようになるには先ず何から勉強したらよいですか?
ブラインドタッチが必要だと思うなら身に着ければよい
既存のやり方をまず習得する 実際に行っている人が持っているスキルを習得する そのコミュニティで活躍して人脈を増やす
>>739 Linuxあたりがいいんじゃね。情報多いし。
>>733 ありがとうございました
ただ、それだとwwwはマッチしないようですが・・・
後出しですいません
wwwにもマッチするようにしたいんですけど[^\.]の部分を.*にしたらダメでした・・・
>>741 彼らが何をやっているのかも分かりません。自分の中でも「何をしているか」が分かれば自習の第一歩だと思います。
>>742 やはりLinuxですかね?Ubuntu環境は有ります。64bitでver.12です。Linuxコマンドを覚えていけばAndroidの中身も読めるようになるのでしょうか。
>>744 穴を見つけてroot取るってのは要するにセキュリティホールの発見とそれを利用した攻撃そのもの。
取っ掛かりとしてはセキュリティニュースをチェックして、
エクスプロイト(攻撃実証コード)の解説を納得できるまで読み返す。
読む過程で出てきた知らない単語を中心に知識を広げる。
実践できそう攻撃なら自分で作った環境相手に攻撃も行う。
で、ある程度知識を付けたら既存のroot奪取のエクスプロイトが何をしているかを分析・実践する。
そのうちに未知のシステム相手にセキュリティホールの当たりをつけて攻撃・乗っ取りを行えるカンが(多分)養える。
こうしてハッカーならぬクラッカーが誕生しましたとさ。おしまい。
ここまでのやり取りですでにムリそうな雰囲気しか感じないがw
748 :
デフォルトの名無しさん :2013/12/23(月) 02:16:37.22
通貨レートの情報を取得したいのですが、以下の条件に合うデータを公開している場所をどなたかご存知でないでしょうか? A国とB国間のレート、というような1:1の情報なら沢山見つかるのですが、 A国に対する世界各国のレート一覧というような多国間のデータ一覧が見つからず。。 ・日本と各国間の、アメリカと各国間の、この2国からみたレートの一覧を欲しいです (最悪、米ドルと各国間の一覧さえ取得できれば…) ・できるだけ多い種類の通貨レート情報を欲しいです。 ・無料で取得できること ・リアルタイムの情報で無くても大丈夫です (昨日時点のデータあたりを取得できれば) ・XMLなど、処理しやすい形式だと助かります ご存知の方いらっしゃいましたら、宜しくお願い致しますm(_ _)m
百度!
currency USD でぐぐれ
>>745 詳細なアドバイスありがとうございます。先ずはZerg Rushか最近公開の標準ブラウザの脆弱性調べます。
>>747 これはLinuxのカーネルについて調べてみようと思います。Androidより初心者向け情報が多そうだから。
753 :
デフォルトの名無しさん :2013/12/23(月) 10:57:46.12
条件に合いそうな通貨レートデータ取得できそうです。 ありがとうございましたm(_ _)m
数直線同士の重なりの度合を計算する関数を書きましたが、 単純な問題なのに何か複雑になりました もっと単純にすることは可能でしょうか? (s1<=d1, s2<=d2) function lap(s1,d1,s2,d2){ if (s1 > d2 || d1 < s2){ lap = 0; } else if (s1 <= s2 && d2 <= d1){ lap = d2 - s2 + 1; } else if (s2 <= s1 && d1 <= d2){ lap = d1 - s1 + 1; } else if (s1 <= s2){ lap = d1 - s2 + 1; } else { lap = d2 - s1 + 1; } return lap; }
>>689-694 あらかじめ点を、x座標とy座標で、ソートしておけば速い
プログラミング・コンテスト・チャレンジブック、第2版に、
平面の分割統治法の例として、
最近点対という古典的な問題が載っている
(UVa online Judge 10245)
1万個以下の点があるとき、
それらの中で、最も近い2点の距離を求める
まず点をx座標によって、左右2つのグループに分ける
1 2点が左左、または右右にある場合は、
再帰的に最小距離dを求める
2 2点が左右にある場合は、
左右に分けた直線から、距離d以内の点のみを調べる
計算量O(n log n)、nは点の数
TopCoder
ttp://toro.2ch.net/test/read.cgi/tech/1333159918/l50
>>754 s1 とか d1 とかの説明が無い
説明する気が無いんだろ
お前の見当外れのコードから読み取れってか
sはstart dはdestinationです
>>754 if(s1>d2 || d1<s2){
lap=0;
} else {
if(s1>s2){
swap(s1, s2);
swap(d1, d2);
}
lap=d1-s2+1;
}
>>759 は無しで
lap=max(max(s1, s2)-min(d1, d2)+1, 0);
>>754 >>758 も
>>759 も間違いだコノヤロー
ってことで
lap=max(min(d1, d2)-max(s1, s2)+1, 0);
安価も間違えた もうダメぽ
なんと ここまで短くなるんですか 原理がまだ分かりませんが考えてみます ありがとうございました
原理も分かりました 分かればすごくシンプルですね ありがとうございました
自画自賛 乙
プログラムってどうやって実行するんですか 学校でC言語を習ったはいいんですが学校のPCにはあらかじめコンパイラというものがインストール?されていたので 良かったのですが 自宅でどのようにすればプログラムを実行できますか 今ちょっとVISUALSTUDIOとかを調べてみただけでも本名とかいろいろ登録しないとだめみたいなんですが 登録せずにできる方法はないですか?
偽名でいいよ
ありません
昔は登録なしで使えるコンパイラがほとんどだった
>>771 windowsでのこと?
じゃあ今はどうなったの?
gcc, clang, open watcom
昔人気のあったボーランド(エンバカデロ)の bcc32 見てきたら登録が必要になってた bcc32 を落とそうなんてユーザの個人情報集めて何がしたいんだか
digitalmars, 他になんかあったっけ?
Windows SDK が前は登録不要でコンパイラとヘッダが入ってた気がする(今は知らない)
open64なんてのもあるんですけど日本語の資料は少ないですね intelに負けじとamdが本気出してコンパイラに投資してるみたいです もうwindows os(とsmbすらも)使ってないのでwindowsのことは詳しくは知りませんが
VisualStudioのExpress版の登録なんてあってないようなものだろ 嫌なら適当に偽名書いとけ もしくはFCC
Javaの開発環境をつくる所でJavaを諦めた人何人居ますか?難しすぎる
んなことはない
馬鹿には無理
>>780 javaは汎用的なものだからな。しかもC言語ユーザが移行しやすいようにしている。
そういうのが嫌なヤツは特定環境用途向けのスクリプト言語使って、後で苦労しろ。
あとwindowsとか使ってるんじゃないか。Linuxとか開発者向けのOSなら含まれてるから簡単だぞ。
eclipse入れるだけじゃ
eclipseとかNetBeansって、別にJDKをインストールしなきゃならないんだっけ
いらないよ
>>783 もともと特定環境用途向けなんだかから、後になって何を苦労するっていうの?
というか根本的なところで日本語がおかしいようだけど何が言いたいんだろうこの人
788 :
デフォルトの名無しさん :2013/12/23(月) 23:56:16.55
うるさいゴミ
246 :デフォルトの名無しさん [↓] :2013/12/15(日) 15:32:34.54 初心者が初心者に馬鹿を感染させているだけだろ相手にするな
>>787 一般的に動的型付け言語の方がデバッグが大変。特定環境向けと言っても環境が変わる可能性はある。
馬鹿には無理
開発環境構築の話してるのにデバッグとか言い出しちゃうのん
793 :
デフォルトの名無しさん :2013/12/24(火) 01:31:25.25
↑ 釣り?
馬鹿
には
C#で数値の入った変数nが0だったらxを-1に、nが1だったらxも1にする簡単な計算を教えてください 自分が書くとifを使った下記のようになってかっこわるいです、1、2行くらいでスパーンと決めることができたら嬉しいです int n;//詳細はぶくけど値は0か1のどちらかが入っている if(n==0){ x=-1; }else{ x=1; }
三項演算子は使わないでください
x = n==0 ? -1 : 1;
>>798 できた、意味わかんないけど、3項演算子って言うんですね、すげえ、意味わかんないけど。
ありがとうございます
Q
E
D
バカにはムリw
if(n==0){ x=-1; }else if(==1){ x=1; }
>>805 かっこよくはないけど、これの方が計算コストずっと低そう、こっち使おうかな
ありがとうございます
if(n==0){ x=-1; }else if(n==1){ x=1; }
int[] array = {-1, 1}; x = array[n];
if(n==0){ x=-1; }else if(n==1){ x=1; }
>>811 環境構築だけしかしないならどうぞ。
それは逆の意味で何人居ますかって話だけどな。
言葉の通りにしか捉えず、会話で伝えたいことを考えないからコミュ障って言われるんだよ。
日本語でおか
780 名前:デフォルトの名無しさん [sage]: 2013/12/23(月) 23:11:34.79 Javaの開発環境をつくる所でJavaを諦めた人何人居ますか?難しすぎる この人はJavaの開発環境をつくる所でJavaを諦めた人が何人いるかを知りたいわけだが
そこでデバッグの話に飛んで行っちゃう馬鹿
あえてtcc tcc -runが超便利
自演乙
>>780 名前:デフォルトの名無しさん [sage]: 2013/12/23(月) 23:11:34.79
>>Javaの開発環境をつくる所でJavaを諦めた人何人居ますか?難しすぎる
多分キミが記念すべき初めての一人目だと思う ご愁傷様
普通の人は本を見ればサルでない限り出来ないはずはないから
気持ちは分かる Windowsで開発環境作るのなんか面倒
そこでつまずく奴がこの板で生きてゆくことは出来ぬさだめ ゆえに問うこと自体が無意味
とりあえず動けば何でもいいってやつが多いのもプログラマ
よくわかんね javaの開発したいなら、JDKインストールして 環境変数でpath作ってjavacの場所を書けば良いだけだろ?
ecのオールインワンで一発
インフラじゃなくてプログラミングがやりたいんだよ OS、言語、データベースのインストールでどれだけ手順かけさすんだよ
インフラを理解してない奴は、トラブった時に切り分けすらできなそう。 で、2chに丸投げ。叩かれる。
828 :
デフォルトの名無しさん :2013/12/24(火) 16:56:33.05
誰もお前の体験談なんかきいてない 黙ってろ
>>826 そういうのに手間かけたくないなら、業者に委託すれば良い
>>826 バカにはムリ
これ以外にキミに似合う言葉はないな
手順はいいとして、時間は掛かるよな。たしかに。 でも特に目的もなくプログラミングってんなら、スクリプトでも組んでる方がいいかもしれない。
入れ子の入れ子の入れ子構造が出来ているとき、 各ブロックがどこに属するかを色分けしてくれるようなエディタってあります? +で展開するだけじゃなく、視覚的に把握できるといいんですが
ttp://maedablock.jp/ のビジュアルプログラミング言語を弄ってみたく、
とりあえずソースをダウンロードしXAMPPを用いてlocalhostで動作するようにしてみました。
初歩的な質問で申し訳ないのですが、予めソースコードを読み込ませ、
起動した時点でブロックを一定数配置するには
どのファイルを弄れば良いか教えていただきたいです。
よろしくお願いいたします。
とりあえず、C言語能力検定1級とったんですが、 C言語でどうやってOSが作られてるのかわかりません。 そういうのが勉強できる本とかありますでしょうか? 質問が高度すぎるか。
条件により不等演算子だけがひっくり返る時にスマートに書くにはどうしたらいいですか? if (a){ x = b > c ? d : e; } else { x = b < c ? d : e; } ほとんど同じ式を二度書くのが気になります
関数にすればいい
>>837 論理が逆('>'と'<='など)なら兎も角、その条件だと難しいね。
変に工夫すると可読性が悪くなるし、そのままでいいんでね?
>>837 ごく一部だけスマートでもしょうがないだろ
と思ってその程度ならそのままにする
>>837 x = a xor (b > c) ? d : e;
真理値表を書いて最適化すれば
>>841 のように1行で書けるが、コードの意味は一切伝わらなくなる。
x = a xor (b > c) ? e : d; だった
844 :
デフォルトの名無しさん :2013/12/25(水) 10:30:26.26
b==cの場合は
しかも間違ってるし。
>>842 そういう時こそコメントを使えばいいだろ
>>837 正しいアルゴリズム(手順)にはそれを表現する「神のコード」が存在する
>>837 を表現する「神のコード」は存在しないので、アルゴリズム(手順)が間違っている
わざわざ可読性がないコードを書いてどーするんだ(笑)
自演乙
>>835-836 おすすめムック本は、技術評論社の
Linuxエンジニア養成読本、2013(2011初版)
ソースコードは載ってないけど、OSの役割が一通りわかる
>>848 一生懸命知恵があるように見せようとしても、
バイトコードに変わるとなんら変わりがない状態になってる事を知らないのだろうな
こんなコードを書くような部下がいたら即クビにするけどなぁ
あと、短いコード(ソース)だと処理が速いと思ってるノータリバンも即クビ
>>851 同じコードが分散するのがいやだから、まとまらないかって話題だろ。
なんでスピードがどうこうとかコンパイルしたら同じとかって話になるんだ。
バグの温床プログラマって事に気がつけ
こうだろ x = hoge(a) ? d : e; func hoge(a) { if (a) return b > c; if (!a) return b < c;
855 :
デフォルトの名無しさん :2013/12/25(水) 11:34:14.25
検討してみるのと採用するのは別の話
「それ、かえって読みにくくなっただろw」ってツッコミはもっともだと思うけど 「コンパイルしたら同じだが? スピードは速くならないんだが? こんなコード書く部下はクビだが?」とか 読解力のなさがすごすぎる。 ほんとうに部下のいる社会人なのか。
「部下がいたら」と書いているだけだから、 部下がいるとは限らない。あくまで仮定の話
俺様の要求に見合うスキルの高い部下をよこせ 自分で育てる気はいっさいない とオーダーして配属待ちしてるところだよ
859 :
デフォルトの名無しさん :2013/12/25(水) 11:47:23.20
いちいち業務を匂わせるところがニートらしい
>>851 アホウ
同じコードを複数記述することは変更に対して弱いんだよ
コピペで行数水増しする末端には関係ないけどね
861 :
デフォルトの名無しさん :2013/12/25(水) 11:56:21.79
コピペだなんて 手動インライン展開という高度な技なんだよ
863 :
デフォルトの名無しさん :2013/12/25(水) 13:05:29.31
手動淫乱で手コキだなんて?(誤解)
C言語で動的配列のさいずはsizeofで調べられないという記事をちらほらみかけますが 肝心の対応コードがありません おしえてください
動的配列を作るときに指定したから分かるだろ
866 :
デフォルトの名無しさん :2013/12/25(水) 15:07:48.28
動的配列って? c99の可変長配列? mallocで確保した領域?
867 :
864 :2013/12/25(水) 15:08:47.99
そんなの知りませんよ初心者ですから
>>864 malloc()で確保したメモリや、引数で渡された配列のことを言ってるなら、自分で
サイズを記憶しておくしかない。
C99の動的配列ならsizeofでサイズがわかる。
ライブラリとかAPIから得た配列ならサイズ取得する関数も大抵ついてる 自分で作った配列なら自分でサイズを持ちまわる
870 :
864 :2013/12/25(水) 15:13:40.01
わかりました
C99流行らないね
どうせ移植性がなくなるなら C++ へいくから
873 :
デフォルトの名無しさん :2013/12/25(水) 23:55:53.84
普通に流行ってるが
入門書を読んだだけの素人なのですが、質問があります。 入門書では標準ライブラリ関数はstdio.hしかでてこなかったのですが、 time.h で int main(void); { time_t timer ; timer = time(&timer); printf("%s", ctime(&timer)); とでてきました。関数の知識から考えて time()で時刻を調べて、ctime()で出力する。というところまでは理解できるのですが、 time_t timer ; と &timerの役割が理解できません。 int printf; とやった覚えはないですし、 この&timer のtimerは変数名ということでいいのでしょうか? &はこの場合はどういう意味をもってるのでしょうか? 初歩的で申し訳ないですが、標準ライブラリ関数の部分に入ってきて、説明もなくこれがいきなりでてきてるので面食らってます。
875 :
デフォルトの名無しさん :2013/12/26(木) 00:06:45.78
time_tが変数の型 &については「C言語 ポインタ アドレス」でググれ
876 :
デフォルトの名無しさん :2013/12/26(木) 00:19:17.47
質問です!携帯電話でコンピューター等を遠隔操作することは可能ですか? それがもし可能なら、コンピューター搭載の電車を動かす事ができるでしょうか?
877 :
デフォルトの名無しさん :2013/12/26(木) 00:21:02.19
電車に搭載されているコンピューターが遠隔操作を受け付けるなら可能。
コンピュータを動かすんじゃなくて コンピュータがなんらかのセンサーで感知するなどして動くのが普通 当然、装置・ソフト両面でそういう仕組みをあらかじめ用意しているという前提
人類に不可能はありません
880 :
デフォルトの名無しさん :2013/12/26(木) 00:38:28.97
>>874 time_t timer ;
で、time_t型の変数timerを宣言。
&は変数のアドレスを取得。
time(&timer)はtime関数に変数timerのアドレスを渡している。
C言語の関数は値渡ししかできないから、戻り値以外で関数から変数に値を戻したい時は、引数に変数のアドレスを渡して、そのアドレスに関数内で値を書き込む。
time関数の引数って無用の長物だと思うけど、なんであるの?
もともと引数のみだったが後で戻り値を返すようにしたから
883 :
876 :2013/12/26(木) 00:48:00.03
迅速な回答に感謝いたします! 877さん、確かに映画ではこっちから電源を云々と言っていたので遠隔操作を受け付けているようです 878さんなるほど、センサーですか、申し訳ございません機械には疎いもので もしよろしければ原理をわかりやすくご教授していただくと幸いです 879さん、そのようですね…
>>876 ちゃんと遠隔操作の定義をしないと、
運転手に電話かけて指示を与えるのもアリになっちゃうよ。
` この記号はなんと言うのですか? `hoge` みたいに書くやつです
887 :
886 :2013/12/26(木) 01:16:15.40
自己解決しました
>>880 C言語の関数は値渡ししかできないから、戻り値以外で関数から変数に値を戻したい時は、引数に変数のアドレスを渡して、そのアドレスに関数内で値を書き込む。
もう少し詳しく。結城浩さんばりに書いていただけないでしょうか?
>>888 20万ドルをスイス銀行に振り込んでからだ
手動で若干不揃いに置かれている矩形を、キレイに整列するにはどういうアルゴリズムでやればいいでしょう 整列は、上端と左端を揃え、間隔を同一に揃える、というものです
>>891 汎用にやるなら、グリッドを決めておいて各頂点ないし中央の座標をグリッドサイズで除算して四捨五入なり切捨てなりしてグリッドサイズで乗算
つか整列する前の段階の配列状態をどの程度維持するのかが微妙なんだよな…
矩形の大きさや角度は同じなのか、大きさが違うとしたら揃えるのか、揃えるとしてn倍の矩形などは許容するのか、
ばらついている状態から整列に使う上端や左端を求めるのかそれらの位置は固定なのか、
配置に使う間隔や横の個数などは入力状態から求めるのか固定された見本があるのかetc…
なるほど・・ ヒントが掴めた気がします ありがとうございました
アルゴリズムじゃなくてユーザーインターフェースの問題のような 矩形を複数選択できるようにして 等間隔・端をそろえるというコマンドを選んでもらう ついでに、期待通りの結果でなかったらアンドゥできる機能も つまりGUIデザイナみたいな機能と想像
895 :
876 :2013/12/26(木) 11:15:59.95
885さん!遅くなりました無人の電車のようです 犯人が乗った車に搭載されたコンピューターが何故か電車に設置された携帯電話を通して 電車のレバーをコントロールするのを私は見ました!
>>895 交渉人 真下正義か?
携帯電話で操作するのは可能だよ。ただし携帯にも電車側の操作システムにも改造が必要だけど
897 :
876 :2013/12/26(木) 11:56:02.79
896さん、流石です仰る通りであります! 改造ですか・・・コンピューターのコードに携帯電話を接続した? 自分でも何言ってるいるやら・・・どのようなカラクリなのでしょうか?
つーか今でもあるじゃん スマホからパソコン遠隔操作するアプリ
2chへの書き込み自体遠隔操作。
900 :
876 :2013/12/26(木) 12:28:17.06
すみません、あまりに馬鹿げた事を言う奴だと思われますでしょうが 原理がよく解らないのです。分かりやすく(サル並な私にも)教えてくださいませんでしょうか?
ネット回線繋がってて、且つ操作される側、する側両方自由にいじっていいならなんでも操作出来る メールの本文が「A」だったら「アクセルを踏む」という動作が実行される 「B」だったら「ブレーキを踏む」 「C」だったら「右にハンドルを切る」 のように操作される側に登録しておいて、 遠隔操作する時は携帯電話から操作される側にメールを送る これは簡単な例だけど、2chだって「名前」「メールアドレス」「本文」を送ったらサーバー側で予め登録されてた動作が実行されて「書き込み」されてるわけだ
VC++ mingw clang ってありますよね なんかよくわかりませんがWindowsだからVC++入れてるんですがこれなんか最新の仕様じゃないとか何とかの記事をみました そこでmingwかclangから勉強しようと思うんですが Windowsでこれら二つを利用する場合に使われるIDEってなんですか? GUIがつくりたいんです
じゃあC#使えよ
>>902 その選択肢でGUIアプリ作るならVC++しかないな。他はGUIアプリ作成に向いてない。
ていうかVC++ってもうメンテされてないの?
>>900 そもそも列車を携帯で操作するデファクト的な原理はまだ確立されてないだろ。
だから自分で考えて作るしかない。
C#は一応勉強してるんですがやっぱりC/C++のほうがやれる範囲が多そうなのと速度も早そうなので覚えたいんです mingwとclangがGUIに向いてないのは以外でした 今使ってるOSがVistaなのでVC++2010しか入れられないんですよ
Java系でより簡単な表記で書ける言語ってありませんか? JavaはFileReaderやってBufferedReaderみたいにいちいち面倒くさいので スクリプト言語みたいなあの簡潔に書ける言語を教えてください Javaは本当難しすぎるんです
C#
>>906 Windowsで提供されているAPIの一部(DirectXなど)はMinGWと互換性がない
安定してるが莫大な手間がかかる方法(ラッパーライブラリの作成)か
手間なしだが不安定な方法(ライブラリ変換ツールの使用)か
いずれも一長一短なので「向いてない」という結論になる
>>908 スクリプト言語でファイルの読み込みが簡単なのは組み込み関数になってるから
.NETもJavaもライブラリを使えばスクリプト言語と同じように一行で目的の動作を達成することもできる
ライブラリの使い方がわからないという話ならおとなしくスクリプト言語使っとけ
Qtとかあるだろヴォケ
ライブラリってサードパーティ性のでしょうか? そういうのじゃなくて標準ライブラリでできる言語はないのでしょうか?
>>913 ファイル入出力が一行で終わるタイプの「非オブジェクト指向な」標準ライブラリを持ってるのはスクリプト言語くらいしかない
ほんとクソだなJava
いっぺんC言語やってからJAVAにいけば楽に感じられたのにw
わかりましたJavaで勉強します とにかく!Javaを基礎から学ぶのに最良の本を教えてください何冊でも良いです
918 :
876 :2013/12/26(木) 13:10:27.67
なるほど犯人は車と電車をネット回線で繋げ簡単な動作で制御できるような仕様にした訳ですね ありがとうございます!助かりました!
919 :
876 :2013/12/26(木) 13:17:39.23
自分なりに考えてみたのですが(スレ違いで申し訳ございません) NARUTOのペイン六道の様な物、ただ、送る与える命令をそれぞれ別な周波に (携帯電話)にしていたと考えてよろしいんでしょうか?
確かに走行中WIFIに繋がらないので犯行は不可能に見える しかし、この交差点で信号待ちをしてる一瞬、 近くのコンビニのアクセスポイントに接続できるのだ! …そう、これでアリバイは崩れるんだ
いまからやるならCとC++どちらを先にやると良いですか? Cで書いたコードはC++コンパイラでコンパイルできるそうなのでどっちか覚えれば両方ともかけるようになるとは思うんですが 先輩方のアドバイスください
>>921 C++の力を利用する気がないならCでいい。
優秀なプログラマを使えるだけの資本を用意できるようになるのが一番いい
>>921 話にならんな。
オブジェクト指向が前提のC++とオブジェクト指向が使えないC言語では、
プログラミングの方法は完全に別物だから。能力的な意味での相互運用性はゼロと思って差し支えない。
>>924 どこでそんな与太話を聞きかじってきたんだい?
>>921 最終的に何をやりたいのかわからん
そもそも最初の一歩から間違ってるおそれが
初心者はpythonでいいだろもう
pythonは気持ち悪いから嫌だ
>>921 デスクトップアプリかスマホアプリか組み込みかによって違う
>>904 C++11とかC++自体の最新ドラフトへの追従状況の話じゃね?
GUIアプリはその辺のでも普通に叩ける。IDEが駄目なだけ。
VCでCLの変わりにclang使う方法は有るらしいから真面目にやるならそっちだが…
そもそもこんな質問してる時点で最新のC++への追従が必要なのかと。
>>908 文法の事を言うならJava系というかC/C++系というべきだろうな。
C#かJScript.NET、スクリプトらしい機能だけでいいならWSHでJScript。
ちょっと言語が違ってもいいならRubyやPerl。
CかC++でマクロ言語が作りたいのです たとえばAutoHotKeyみたいな感じの
>>930 JVM環境で動かしたいのでJava系じゃないとだめです
一発で答えが返ってきそうな質問をする技術を学校で教えた方がいい
>>921 Cの文法をほんの少しだけ修正した上で、色々文法や機能やライブラリを足したのがC++
Cだけ覚えててもC++で追加された文法を扱えない。
C++だけ覚えててもCで使える文法や制限を知らないと書いた端からエラーになる。
Windowsのタイマーは正確じゃないので例えばメトロノームみたいな時間にシビアな動作は厳しいらしいですよね でもCubaseはそういう補正がついてます そこで質問なんですがこういう補正の仕組みはどうなってるんですか?
パフォーマンスカウンタなら正確だよ
それは本当ですか?分解能480ぐらいでも正確ですか?
938 :
デフォルトの名無しさん :2013/12/26(木) 16:35:29.86
余裕すぎる
分解能というのが何かわからないが1ミリ秒を正確に測れる
分解能60で1分間に四分音符を60個ぶんの長さって事です なので分解能60で1秒毎に音が鳴らせます 今の有料シーケンサーソフトは分解能960もあるんですがこのぐらいのでも大丈夫って事ですかね?
941 :
デフォルトの名無しさん :2013/12/26(木) 16:42:45.18
毎分480拍
200bpmだと四分音符で0.25 / 480秒だけど
240bpmだった
ということは125ミリ秒ってこと?1ミリ秒が測れるんだから 余裕すぎるw
つまりパフォーマンスカウンタは分解能60000ってことだな。
>>935 普通タイマの補正って言うとクロックの値をn.nn倍して読む/待つって使い方で補正する。
マルチメディアタイマ←1ms〜20ms位の精度。一番よく使われる
オーディオクロック ←1/44100s位の精度。余り使われないけど出力音声はコレ基準。補正したら音が歪む
パフォーマンスカウンタ←MHzの世界にようこそ。意外とよく使われる
>>936-945 精度はそんな感じだけど、長時間回してどのくらいずれるかは全く別の問題じゃね?
長時間って何時間?
大は小をかねるみたいな単純な話じゃなかんべ オーディオならオーディオの機能を使うのが一番
パフォーマンスカウンタっていうのを使えばよさそうですね C#とJavaじゃできそうにないのでCの知識がいるかなあ・・・
>>935 は時間を計りたいのではなくSleepをしたいんじゃないかね
普通のWindowsはスリープ時間の精度が10msになることと
timeBeginPeriodで1msに出来る事を知りたいのだろう
10msスリープして1ms精度のパフォーマンスカウンタで調整すればいいんだよ
パフォーマンスカウンタってC#じゃないとダメなの? JavaとかPHPは無理?
なるほどMacとかじゃ使えないわけか
>>955 IntelのCPUでRDTSCっていう命令を呼べば(ユーザーモードでもOK)、即座に得られる値。
ネイティブコードが使えさえして、CPUがIntel系なら大概いけそうな機能だよ。
なるほど、勉強になった
>>906 windowsでguiかくなら実質VC一択
Unix/linuxならgccでもclangでも。
そのときはIDEよりテキストエディタつかう
今となってはVC++&MFCでも面倒だな。 しかもMFCは無料のバージョンにはついてないし。 C++でWindowsのGUIをやりたいなら、高いけどC++Builderがいいと思う。
C++Builderも無料じゃないじゃん
>>960 だいぶ安いし同じ金出すなら簡単のを買えばいいでしょ
962 :
デフォルトの名無しさん :2013/12/26(木) 22:44:39.74
GUIはQtがいいよ
Qtはもっさり
C#とかjavaよりマシ
QtだとHTML+JavaScript+CSSと 似たよう開発ができるからいいよね。
C#入れてSystem.Timers.Timer使ってみたけど全然精度ないね interval 100ですら精度がバラバラ 全然使い物にならん
それはSetTimerのラッパーだからしょうがない
夕飯作ってる時に指怪我しちゃった 上手くタイピングができない
>>966 いや、お前が間違ったものを使ってるだけ。
(わざと)精度が高くないように作られてるものを使って
精度が高くないとかさ、お前無知なだけじゃん?
>>969 教えてやれよ
もし知ってるなら
バカだから知らないだろうがwww
スレッドを起こしてその中で10msスリープしつつ パフォーマンスカウンタで調整しつつイベントの処理をしてやれば 最強に正確
Threading.Timerで10msスリープされる保証もない
マルチメディアタイマーを使わなければ結局C#で精度の高いことをするのは無理
>>969 は知らないくせにでしゃばっちゃったから火傷を恐れてコード出せない無知無能君
ビジーループが最強伝説
976 :
デフォルトの名無しさん :2013/12/27(金) 17:32:22.87
初心者です。 二チャンネルはお正月も営業していますか? よろしくおねがいします。
C#...インタプリタで時間的に正確な事ができるはずがない javaも同じだがな
978 :
デフォルトの名無しさん :2013/12/27(金) 17:34:50.06
どっちもネイティブ
どっちもインタープリタ って知らないのか? アホが増えたな
そもそもネイティブって意味を理解してるのか?
すまん 理解してるのか ではなくて 理解出来るのか だったわw
985 :
デフォルトの名無しさん :2013/12/27(金) 18:12:38.85
作ればある!
釣りじゃなければJITを知らない馬鹿
マルチメディアタイマーで割り込み時間を1にしてスレッドスリープしたけど安定しない C#はクソだな
インタプリタだから...ってC++だって純粋なネイティブではないけどね 完全なアセンブラの場合すべての処理時間が完全に計算できる C#、javaは30年前のbasicと同じ ハードがよくなったから見栄えがよくなっただけ
>>987 それをインタプリタと言うのだが?(笑っていいですか?)
JITはインタプリタじゃないよ。 インタプリタってのは、同じ行をもう一度実行するときでも、 再度解釈するもの。一行一行解釈して動くってのは そういうことだから。
実行時は完全ネイティブコードになるから速度に差は出ない C#がインタプリタ言語だとしてもそれが時間的に正確でないという文脈に使うのはおかしい
アーキテクチャを見極めて最適化されたコードを吐いてくれたりせんの?
してくれる。むしろそのために中間コードでとめてる
生き埋め
>>981 C#は元々JITだしJavaも今はJITだよ。
Javaだと動的最適化の絡みでインタプリトも混ざるけど、C#とかは実行前にコンパイルされるから普通にネイティブ。
逆アセンブラタイプのデバッガで普通にトレースできるレベルのネイティブコードに落ちて実行される。
997 :
デフォルトの名無しさん :2013/12/27(金) 20:18:49.88
PythonのJITはジャスト・イン・タイム・コンパイラのことで実行時にコンパイルを 行うものだけど、JavaのJITはジャスト・イン・タイム・インタプリタのことで、 実行時に解釈を行うインタプリタです。 だからJavaはダメなんです。 早く滅びれ。
998 :
デフォルトの名無しさん :2013/12/27(金) 20:19:10.95
このスレは終わらせる
999 :
デフォルトの名無しさん :2013/12/27(金) 20:21:01.96
終わりません!
オワタ\(^o^)/
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。