私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレGCCについて part8
gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ☆
レスフィルター : (試験中)
>>550
変態なgccだなあ
変態なgccだなあ
GCC に #pragma optimize はないんですよね?
ある大きな数値計算プログラムがあって、
全体としては -O や -O2 など最適化はしたい。
けど一部、計算誤差などを考慮した、
計算の順番を変えてほしくないコードがある。
Intel Compiler などは pragma でソコは最適化しないように
回避できるんだけど、GCC はどうしようかと。
なんか手段あります?
ソースを分けて、そこだけ -O0 にするしかないのかな?
ある大きな数値計算プログラムがあって、
全体としては -O や -O2 など最適化はしたい。
けど一部、計算誤差などを考慮した、
計算の順番を変えてほしくないコードがある。
Intel Compiler などは pragma でソコは最適化しないように
回避できるんだけど、GCC はどうしようかと。
なんか手段あります?
ソースを分けて、そこだけ -O0 にするしかないのかな?
>>556
-fno-fast-math か?
-fno-fast-math か?
556とは別人なんだがinline関数なんかの場合はそこだけコンパイラオプションを変えるわけにもいかないし
精度は保ちつつ最大限速くしてもらいたいからvolatile使うのも嫌だしとワガママ言ってしまうことはあるね。
Cを高級アセンブラとして使っているときに
局所的に自分でスケジューリングした順序で動いて欲しいこともあるし。
精度は保ちつつ最大限速くしてもらいたいからvolatile使うのも嫌だしとワガママ言ってしまうことはあるね。
Cを高級アセンブラとして使っているときに
局所的に自分でスケジューリングした順序で動いて欲しいこともあるし。
__artificial__アトリビュートを調べていたら、下のドキュメントが
あったけどなんかいまいち理解できん。
わかりやすい日本語で解説してくれ!
artificial
This attribute is useful for small inline wrappers
which if possible should appear during debugging as a unit,
depending on the debug info format it will either mean marking
the function as artificial or using the caller location for
all instructions within the inlined body.
あったけどなんかいまいち理解できん。
わかりやすい日本語で解説してくれ!
artificial
This attribute is useful for small inline wrappers
which if possible should appear during debugging as a unit,
depending on the debug info format it will either mean marking
the function as artificial or using the caller location for
all instructions within the inlined body.
この属性は小さなインラインラッパー関数に使いよい。
その関数とはどういうものかというと、デバッグ中には
関数の中に入らずに単体として扱われるのが望ましいもの。
この属性がどう実現されるかというと、
デバッグ情報フォーマットによるが、
関数にartificialというマークをつけるか、
またはインライン化された関数本体中の呼び出し位置を使う
(どう使うのかは書いてない)ことになるだろう。
……と理解した。
デバッグの必要のないような機械的に生成したラッパーインライン関数
なんかに使うといいんでないのかしら。
その関数とはどういうものかというと、デバッグ中には
関数の中に入らずに単体として扱われるのが望ましいもの。
この属性がどう実現されるかというと、
デバッグ情報フォーマットによるが、
関数にartificialというマークをつけるか、
またはインライン化された関数本体中の呼び出し位置を使う
(どう使うのかは書いてない)ことになるだろう。
……と理解した。
デバッグの必要のないような機械的に生成したラッパーインライン関数
なんかに使うといいんでないのかしら。
いや、コンパイルしたもの自体は問題にならない。
GPLなソースが混入してない限り。
だがそれが回避しにくいように念入りに作られてるんだわこれが…
GPLなソースが混入してない限り。
だがそれが回避しにくいように念入りに作られてるんだわこれが…
>>572
どこでそんな嘘聞いてきたんだ。
どこでそんな嘘聞いてきたんだ。
In addition to the permissions in the GNU General Public License, the
Free Software Foundation gives you unlimited permission to link the
compiled version of this file into combinations with other programs,
and to distribute those combinations without any restriction coming
from the use of this file.
Free Software Foundation gives you unlimited permission to link the
compiled version of this file into combinations with other programs,
and to distribute those combinations without any restriction coming
from the use of this file.
GNU一般共有使用許諾における許容に加えて、フリーソフトウェア基金はこのファイルのコンパイルされたバージョンを他のプログラムへの組み合わせにリンクして、このファイルの使用から無制限に来るそれらの組み合わせを広げる無制限な許可をあなたに与えます。
しかし、このスレは定期的にGPLの話がでるな。
とりあえず、
・GLPのソースを含んだ実行ファイルから利益を得ることは制限されない。
・ただ、ソースを見せろと言われたら全て見せなくてはならない。
・それは不便だからLGPLがあり、その場合は以下の条件を満たせばソースを
見せる必要はない。
・使用しているLGPLなソースを第三者が修正して、再度、配布しているもの
と同等の実行ファイルを作成出来なければならない。
・ダイナミックリンクの場合は特になにもする必要はないが、
スタティックリンクの場合は、リンクに必要なオブジェクトファイル
(具体的には、*.o)を提供しなければならない。
・同等の実行ファイルを作成出来ることが必要という縛りがあるので、
LGPLだからと言ってこっそりコピペするのは(・A・)イクナイ!!
(結局ソースを提供しなければ同等にならない可能性があるので。)
と理解している。
とりあえず、
・GLPのソースを含んだ実行ファイルから利益を得ることは制限されない。
・ただ、ソースを見せろと言われたら全て見せなくてはならない。
・それは不便だからLGPLがあり、その場合は以下の条件を満たせばソースを
見せる必要はない。
・使用しているLGPLなソースを第三者が修正して、再度、配布しているもの
と同等の実行ファイルを作成出来なければならない。
・ダイナミックリンクの場合は特になにもする必要はないが、
スタティックリンクの場合は、リンクに必要なオブジェクトファイル
(具体的には、*.o)を提供しなければならない。
・同等の実行ファイルを作成出来ることが必要という縛りがあるので、
LGPLだからと言ってこっそりコピペするのは(・A・)イクナイ!!
(結局ソースを提供しなければ同等にならない可能性があるので。)
と理解している。
GPLのプログラムがLGPLのライブラリを読み込んだとき、
LGPLのプログラムのソースの公開の義務は発生しますか?
LGPLのプログラムのソースの公開の義務は発生しますか?
>>583
なんですとぉ!
自作ツールでアーカイバプロジェクトの
スタティックライブラリをリンクしたとする
自分のものでもないしソースもないけど勝手にGPL?
d3d9x.lib とかスタティックライブラリじゃん
困らね?
なんですとぉ!
自作ツールでアーカイバプロジェクトの
スタティックライブラリをリンクしたとする
自分のものでもないしソースもないけど勝手にGPL?
d3d9x.lib とかスタティックライブラリじゃん
困らね?
非GPLなプログラムからGPLなライブラリを使うときは
非GPL部分とGPL部分とでプログラムをわけて、
ソケット通信をすればおk
まあGPL部分は諦めて公開する必要があるけど
どうしても非公開にしたいコアな部分は非GPLにできる。
非GPL部分とGPL部分とでプログラムをわけて、
ソケット通信をすればおk
まあGPL部分は諦めて公開する必要があるけど
どうしても非公開にしたいコアな部分は非GPLにできる。
>>584
いや、d3d9x.libってCygwinかなんかの?LGPLなの?
困るんならMSのライブラリとコンパイラ使いなよ。
または、d3d9x.lib相当の機能は、自分で作らないと。
他人の成果物使ってんだからさ。
ライセンスに従えない人間に使われるのてむしろ困るのは、
ライブラリを作ってる側だし。
いや、d3d9x.libってCygwinかなんかの?LGPLなの?
困るんならMSのライブラリとコンパイラ使いなよ。
または、d3d9x.lib相当の機能は、自分で作らないと。
他人の成果物使ってんだからさ。
ライセンスに従えない人間に使われるのてむしろ困るのは、
ライブラリを作ってる側だし。
分かりにくいなぁ。GPLって。
このライセンスは、GNUが本来目指していた目的に合致するのだろうか・・・・
このライセンスは、GNUが本来目指していた目的に合致するのだろうか・・・・
本来の目的って、すべてのソフトを未来永劫にわたってオープンソース化する
超過激思想だぞ? だからこそこんな感染性のあるライセンスにしたわけで。
超過激思想だぞ? だからこそこんな感染性のあるライセンスにしたわけで。
そのへんは「オープンソース」界隈の連中が意図的にか天然か
勝手に話を混ぜ込んでいたりするからなw
勝手に話を混ぜ込んでいたりするからなw
>>582
*フリーではないライブラリを利用するフリーソフトウェアを書いているのですが、GPLを適用した場合どのような法的問題が発生するでしょうか?
http://www.gnu.org/licenses/gpl-faq.ja.html#WritingFSWithNFLibs
*「単なる集積」と「二つのモジュールを一つのプログラムに結合すること」の違いは何ですか?
http://www.gnu.org/licenses/gpl-faq.ja.html#MereAggregation
*フリーではないライブラリを利用するフリーソフトウェアを書いているのですが、GPLを適用した場合どのような法的問題が発生するでしょうか?
http://www.gnu.org/licenses/gpl-faq.ja.html#WritingFSWithNFLibs
*「単なる集積」と「二つのモジュールを一つのプログラムに結合すること」の違いは何ですか?
http://www.gnu.org/licenses/gpl-faq.ja.html#MereAggregation
>>592
根本はとってもシンプル
結局はバイナリ公開したければソース出せボケ
いろいろな抜け道を塞ぐために条文追加するはめになっただけのこと
ストールマンの最初の動機と何も変わってないw
思想先行どころか実利的なGPL
根本はとってもシンプル
結局はバイナリ公開したければソース出せボケ
いろいろな抜け道を塞ぐために条文追加するはめになっただけのこと
ストールマンの最初の動機と何も変わってないw
思想先行どころか実利的なGPL
>>591
d3d9x.libはOSのライブラリってこと?スタティックなライブラリが?
話が唐突で全然意味がわからん。
てっきり、GCC用のLGPLなライブラリだと思ったんだが。
あと、GPLならGPLが適用されるし、LGPLならLGPLが適用されるっしょ。
OSがプロプラとか関係無い。
d3d9x.libはOSのライブラリってこと?スタティックなライブラリが?
話が唐突で全然意味がわからん。
てっきり、GCC用のLGPLなライブラリだと思ったんだが。
あと、GPLならGPLが適用されるし、LGPLならLGPLが適用されるっしょ。
OSがプロプラとか関係無い。
すくなくともd3d9x.libについて調べればそういう話は出てこないとおもう。
簡単に言えば、Direct3Dについてくる、MSの3Dライブラリみたいな。
簡単に言えば、Direct3Dについてくる、MSの3Dライブラリみたいな。
例えば、GPLな数値計算ライブラリと
Direct3D の組み合わせで計算結果を視覚化するソフトウェアがあるとする
このソフトウェアを α とする
α 内で使用されている D3DX* 系の関数は DirectX SDK の d3dx9.lib スタティックライブラリに含まれている
スタティックライブラリに含まれる部分のソースが無いので
出来上がった α を頒布することはできない
これで合ってる?
Direct3D の組み合わせで計算結果を視覚化するソフトウェアがあるとする
このソフトウェアを α とする
α 内で使用されている D3DX* 系の関数は DirectX SDK の d3dx9.lib スタティックライブラリに含まれている
スタティックライブラリに含まれる部分のソースが無いので
出来上がった α を頒布することはできない
これで合ってる?
>>591
それが詭弁に過ぎないことは世の中のWebブラウザを見てればわかる
それが詭弁に過ぎないことは世の中のWebブラウザを見てればわかる
類似してるかもしれないスレッド
- GCCについて part9 (1001) - [95%] - 2011/9/2 21:17 ○
- GCCについて part10 (538) - [90%] - 2018/7/5 20:30
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [18446744073709551610%] - 2022/10/28 8:00
トップメニューへ / →のくす牧場書庫について