元スレCygwin + MinGW + GCC 相談室 Part 3
gcc覧 / PC版 /みんなの評価 : ★
451 = :
fread()一回では、エミュレートのオーバーヘッドは1回分であることが期待できる。
多くても、BUFSIZごとに1回だろう。
fgetc()では、毎回の呼び出しごとにオーバーヘッドが発生する懸念がある。
ungetc()のために毎回余計に読み込まなくてはいけないと言う事情がこれに拍車を掛けるだろう。
452 = :
そゆのってオーバーヘッドのかからない層で
バッファリングすると思うんだけど・・・。
453 = :
いや、そうじゃないからこそ、cygwinのエミュレーションは問題だといっている。
454 = :
MinGWのgccやg++は、標準ヘッダの検索パスをどこで決めているんでしょ?
c:\mingwにインストールしたときはbinのpathを通すだけでコンパイルできたソースが、
j:\!repos\softwares\mingwにインストールしたときはbinのpathを通すだけだと、
no include path in which to search for stdio.hとか言われる。
C_INCLUDE_PATHやCPLUS_INCLUDE_PATHを設定すればいいみたいだけど・・・。
456 = :
>>451
ソースを読んでどこが悪いとか具体的に確信を持って言ってる?
なんか勘違いしてる気が…
457 = :
そのへんを計測してみた人どこかにいないかな
461 = :
使いもしないツールを多く含んだメタボ気味なコンパイラ使うより
いいかもね
462 = :
少しスレ違いかもしれませんが質問させてください。
環境は、
MinGW 5.1.3
MSYS 1.0.10
自前のC++ソースをビルドしようとすると、
こんな感じのシンボル未定義のメッセージが並んでリンクエラーになります。
foo.cpp:(.gnu.linkonce.t._ZNK11foo16hogeERKSt6vectorIdSaIdEEj+0x14a) : undefined reference to `_cxa_begin_catch'
nmで見るとlibstdc++.aが必要なようですが、-lでばっちり指定しています。
./libstdc++.a:eh_catch.o:00000000 T ___cxa_begin_catch
./libsupc++.a:eh_catch.o:00000000 T ___cxa_begin_catch
何が原因なんでしょう。。打つ手なしっす。
463 = :
-lの方が先に指定されていたりはしないよね?
465 = :
g++コマンドでリンクすりゃ、libstdc++を明示する必要はないはずだが。(勝手にリンカに適切なオプション渡してくれる)
467 = :
>>462
アンダースコアの数が違うからリンクできるように見えない。
マップファイルとかアセンブリのソースとか確認しないとわかんないね。
468 = :
バージョンが合ってないとか
470 = :
UACが有効なVistaでcygwin使うとき、sudoみたいに管理者権限を動的に(必要なときに)与えるようにしたいんです。
ここで間違えないで欲しいのは、実行したユーザーが属するAdministratorsが保有するACL管理下の権限であって、Administratorの強制執行権限ではありません。
引数をコマンドとして実行するだけのプログラムにマニフェストを組み込んでもcygwinから実行するとNo permissionでキャンセルされます。
runasではadministratorでの実行は可能ですが、条件に合いません。
何かいい方法は無いでしょうか?
471 = :
VisualStudio, gcc, vim, Cygwinで開発しています。
MinGWというのは使ったことがあるのですが、メリットがよく分かりませんでした。
上記の開発ツールに加えてMinGWも使うとしたときのメリットにどんなものがありますか?
472 = :
Cygwinというのは苦肉の策であって、
例えばパス名の区切りがスラッシュになるなど、環境との親和性に問題がある。
VisualStudioはアクチがあり、法外に高額で、
かといってラーニングやスタンダードはライセンスにいろんな制約がある。
ただしカネがあるなら最適化他の面で圧倒的に有利だ。
gccってNTリソースパックのgcc?
NTのPOSIXサブシステム用はOSの汎用性がない。
MingWは完成度さえ高ければ素晴らしいのだがw
ハローワールドで数メガとか恐ろしいことになったりするw
473 = :
>>471
その列挙の意味がよく分かりませんが、VSとcygwin上のgccとvimを併用してると解釈します。
http://ja.wikipedia.org/wiki/MinGW#Cygwin.E3.81.A8.E3.81.AE.E6.AF.94.E8.BC.83
↑cygwinとmingwの比較です。2つは哲学が異なります。
cygwinはmingwに比べwindowsシステムとの互換性が低い(パスとか)のでwindows向けの開発であれば避けた方がいいかもしれません。
しかし、cygwinにmingwが包括されています(詳しい位置づけはよく分かりませんが)。
dllの不要化やWindows APIの利用も可能です。cygwinとmingwを併用する利点はあまり無いと思います。
474 = :
>>472
ありがとうございます。
Win32を使ったアプリを作らないせいか、環境とし親和性はあまり意識いたことないです。
やはり、Win32APIを使うと問題になってきますか。
VS Express 2005のフリー版を使っています。
gccはCygwin上のgccです。
>>473
リンクありがとうございます。
> VSとcygwin上のgccとvimを併用してると解釈します。
そうです。わかりにくくてすみません。
> しかし、cygwinにmingwが包括されています
それは初耳です。cygwinを使っていれば、mingwと同じかそれ以上の
ことが出来るということですか。
> cygwinはmingwに比べwindowsシステムとの互換性が低い(パスとか)ので
> windows向けの開発であれば避けた方がいいかもしれません。
windows向けの開発をする予定があるので、今からVSを使って慣れておこうかと思っている次第です。
windows向けであればcygwinよりmingwがいいんですか。
あるいは、windows向けであればビジネス的にはVSが圧倒的シェアかと思いますが、
個人的使用(趣味のプログラミング)であればVisualStudio2008などは高額で敷居が高いですね。
個人向けであれば、mingwが最適なのかなと思って、最近mingwが気になりだした次第です。
476 = :
>>472
ハローワールドで数メガとかならねーよw
# あ…Javaで書いてgcjでコンパイルとかしたらなるか
477 = :
デバッグ情報てんこもりとか
478 = :
[Test.java]
public class Test {
public static void main(String[] args) {
System.out.println("Hello, world.");
}
}
> gcj -O2 --main=Test -o test Test.java
> ls -lh test.exe
-rwxr-xr-x 1 hoge none 6.1M Jan 14 03:04 test.exe*
> strip test.exe
> ls -lh test.exe
-rwxr-xr-x 1 hoge none 2.1M Jan 14 03:06 test.exe*
うはwww
479 = :
>>471
VS と MinGW の両方でコンパイルできるコードが割と簡単に書けるところが MinGW のメリット。
MinGW では基本的に Win32 API を使う。
スレッド、WinSock2、DLL のロードなどは Win32 API を利用するので
VS 用と MinGW 用のコードの差分は小さくなることが多い。
コンパイラ依存の部分を #ifdef で分ければ大半のコードを共用できる。
Cygwin は使ったこと無いのでパス。
481 = :
>>474
windows用のソースをwindows用にコンパイルするのがmingw、勿論VSも
linux用のソースをwindows用にコンパイルするのがcygwinのgcc
cygwinでもwindows用のソースをコンパイルする事はできます、そこで使われているのがmingw
このcygwinのmingwが本家と同一なのかどうなのかはよく知りませんが。
gcc --target-help の最初の10行程を見てみてください、参考になるかと思います。
482 = :
一部のファイルをインクルードすると
failure to convert cp932 to UTF-8
というエラーが発生するんですが
これは何が原因なんでしょう?
別のエディタで文字コードをUTF-8にして保存しても直りませんでした
485 = :
いやまじであるぜ?
改行コード
486 = :
>>482
「一部のファイル」ってのを明確すると話が早かったりするかも。
boostだったりしない?
487 = :
>COMプログラマの解説書
>Crispin Goswell
>Microsoft Office Product Unit
>1995年 春
>1995年9月13日改訂
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdncomp/htm/com_co.asp
>抄録
>この解説書は、
>Microsoft(r) OLE Component Object Model(COM)オブジェクトを作成し、
>効果的に使用する方法を説明しています。
>例文はほとんどCで書かれていますので、実際に何が行われているかが、大変分かりやすく示されています。
>プログラマの中には、オブジェクトを実行するためにC++を好んで使用する人もいるでしょう。
>C++プログラマの観点からCOMの概念および基本的な使用法を論じているのは
>Kraig Brockschmidt著のInside OLE (第2版)(MSDN Library(Books))です。
>COMとは何か、またその設計や哲学の後ろにある動機付けをより理解する事に興味がある読者なら、
>Component Object Model Specification(MSDN Library(Specifications))の最初の2章を読んでください。
>第1章には簡単なイントロダクションを、第2章では徹底的に概要を解説してあります。
>この解説書ではInside OLEとCOM Specificationにある情報を、
>COMオブジェクトを実装する良い方法をいくつか示しながら解説するようにしてあります。
488 = :
>>482
input-charset を CP932 として使っていながら、欧州由来のコードで
CP932的に不正なものを含むソースをコンパイルしたんだと思う。
ffmpegの何かのヘッダとか。
489 = :
エクスプローラーを使っているときに
今見ているフォルダでCgywin窓を開きたいのですが
どうしたらいいですか?
490 = :
アドレスバーからコピーして、cdすれば?
493 = :
窓の手の流用か
494 = :
あれ、なんでばれたんだろう?
、と思ったら書いてあったねハッキリと
495 = :
MSYSからgetchとかkbhitを拾うのはどうしたらいい?
コマンドプロンプトではできることが
MSYSでは上手くいかないことが意外に多い
printfは必ずfflushも書かないと表示されないし・・・(TT
496 = :
毎回のようにfflushするくらいならsetvbufに_IOLBFしとけ。
で、getchやkbhitはC/C++にもPOSIXにも準拠していないし、Win32にも無い。
強いて言えば、DOSのデファクトスタンダードだったので残してある、というだけ。
Win32APIを使わないとするなら、
conio.hじゃなくてcursesとかを使うんじゃないの?知らないけど。
498 = :
いま操作しているPC(ネットワーク上でのコンピュータ名はPC1)のcygwin(以下cygwin1)から
sshでほかのPC(ネットワーク上でのコンピュータ名はPC2)のcygwin(以下cygwin2)にログインして
\\PC1\Shareにアクセスしようとすると"-bash: cd: \\yy-x60s\Share: Permission denied"と言われてしまいます
cygwin2から直接"cd \\\\PC1\\Share"を実行するとこちらは成功します
cygwin2で"setfacl -m user:SYSTEM:rwx \\\\PC1\\Share"を実行して
直後に"getfacl \\\\PC1\\Share"を実行すると
# file: \\PC1\Share
# owner: pc2user
# group: なし
user::rwx
group::r-x
other:r-x
mask:rwx
とでていて設定が反映されてないことが原因なような気がするのですが、どのように設定するばよいか分かりません
みんなの評価 : ★
類似してるかもしれないスレッド
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [97%] - 2022/10/28 8:00
- Cygwin + MinGW + GCC 相談室 Part 7 (996) - [97%] - 2014/9/21 2:15
- Cygwin + MinGW + GCC 相談室 Part 6 (981) - [97%] - 2012/12/30 23:15
- Cygwin + MinGW + GCC 相談室 Part 5 (981) - [97%] - 2011/4/6 2:32
- Cygwin + MinGW + GCC 相談室 Part 4 (1001) - [97%] - 2010/3/23 18:31 ☆
- 【激遅】AppleGCC【絶望】 (111) - [1%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について