問題タブ [cygwin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - cygwin rxvt で表示される色を変更するにはどうすればよいですか?
印刷する"\[\e[34m\]sometext"
と文字が青く表示されますが、どこかに青の濃淡を指定できますか?
windows - cygwin/msys bash でコマンドライン引数として「pkg-config」を使用する
Windows のビルド環境として cygwin を使用しようとしています。GTK+ などのサードパーティ パッケージに依存しています。
通常、Linux でビルドする場合、Makefile で gcc への引数として pkg-config への呼び出しを追加できるため、次のようになります。
これは Linux では問題なく動作しますが、cygwin では次のようになります。
今、私は手動で pkg-config を実行し、出力を Makefile に貼り付けているだけですが、これは本当にひどいことです。この問題を回避または修正する良い方法はありますか?
Makeは犯人ではありません。gcc を呼び出すために使用するコマンド ラインをコピーして貼り付けることができます。それ自体で gcc が実行され、「: 無効な引数」で停止します。
コマンド ライン引数を出力する小さなテスト プログラムを作成しました。
一重引用符に注意してください。
テスト プログラムの実行:
最後の行の一重引用符に注意してください。argc が本来よりも 1 大きく、argv[argc - 1] が null のようです。Linux で同じテストを実行しても、この結果は得られません。
そうは言っても、バックティック演算子を使用するのではなく、Makefile で pkg-config の結果を変数に格納し、その変数を使用する方法はありますか?
visual-c++ - 64 ビット Windows サーバー 2008 上の Visual C++ 2005 で 32 ビット アプリケーションのコンパイルを最適化する方法
継続的統合のために、64 ビット Windows サーバー 2008 を使用してビルド サーバーをインストールしました。
私が 64 ビット サーバーを選択した理由は、~3Gb 以上の RAM を搭載するためでした。このマシンが非常に高速なビルドを提供することを期待していました。
残念ながら、結果は控えめに言っても大きく欠けています。私のデスクトップは、Xeon クアッド コア、15k RPM SAS、および 8 ギガの RAM を搭載したこのサーバーよりも高速なビルドを提供します。
Visual C++ 2005 を使用して、32 ビット アプリケーションを Cygwin でコンパイルします。
WOW64 エミュレーターがビルド プロセスを遅らせるボトルネックになる可能性はありますか?
任意のポインタ、コメントをいただければ幸いです。
よろしく、
windows - .shファイルをCygwinに関連付けるにはどうすればよいですか?
Windowsで.shファイルをダブルクリックして、Cygwinで長いrsyncコマンドを実行したいと思います。相対パスが機能するように、ファイルを含むディレクトリ(/ cygdrive / c / scripts /など)で開始する必要があります。誰かがこれを機能させましたか?
注:ここで、Windowsコンテキストメニューを管理するCygwinパッケージ(Bash Prompt Here)を見つけました。それはいくつかの手がかりを持っているかもしれません。
sockets - Windows での Rsync - 非ソケットでのソケット操作
Windows XP SP2 で最新の Cygwin バージョンの rsync を実行しようとすると、次のエラーが発生します。このエラーは、ローカル同期 (つまり、ローカル ハードディスクのソースと宛先のみ) とリモート同期 (openssh パッケージの「-e ssh」を使用) の両方で発生します。修正/回避方法に関するアドバイスはありますか?
command-line - tee コマンドは常に EOF を待ちますか?
stdout
コマンドの出力をログ ファイルだけでなくログに記録したいと考えています。tee
Cygwin がインストールされており、コマンドを使用してこれを達成しようとしています。
問題は、ログファイルtee
に何かを出力する前に、ファイルの終わりを待つことを主張しているように見えることです。stdout
これにより、将来の参照用にログ ファイルを作成するというすべての要点が取り除かれますがstdout
、ビルドの進行状況を簡単に確認できるようにログも記録されます。
tee
のオプションは、、、、および に限定されているよう--append
です。私がやろうとしていることを達成する別の方法はありますか?--ignore-interrupts
--help
--version
sql-server - CygwinウィンドウからSQL Serverに接続するとタイムアウトになり、DOSプロンプトからは機能します
DOS コマンド ウィンドウから sqlcmd を介して SQL Server データベースに接続できますが、Cygwin ウィンドウからは接続できません。DOS から:
テスト
(影響を受けた行は 1 行)
================================================== ==
Cygwin から:
HResult 0x35、レベル 16、状態 1
名前付きパイプ プロバイダー: SQL Server [53] への接続を開けませんでした。Sqlcmd: エラー: Microsoft SQL Native Client : サーバーへの接続の確立中にエラーが発生しました。SQL Server 2005 に接続する場合、このエラーは、既定の設定では SQL Server がリモート接続を許可しないことが原因である可能性があります. Sqlcmd: エラー: Microsoft SQL Native Client: ログイン タイムアウトの期限が切れました。
cygwin - フロッピーイメージをcygwinにマウントする
cygwinを使用してフロッピーイメージファイルをマウントするにはどうすればよいですか。イメージをマウントし、マウントされたドライブにファイルをコピーしてから、コマンドラインからマウントを解除したいと思います。
WindowsでVirtualFloppyDriveを使用できることは知っていますが、Cygwinでこれを行う方法はありますか?
windows - GCC-Windows が cygwin に依存するのはなぜですか?
私は C++ 開発者ではありませんが、常にコンパイラに興味があり、GCC の一部 (特に LLVM) をいじることに興味があります。
Windows では、GCC を正しく実行するには POSIX エミュレーション レイヤー (cygwin または MinGW) が必要です。
何故ですか?
私は、C++ で記述され、さまざまなプラットフォーム (Subversion、Firefox、Apache、MySQL) 用にクロスコンパイルされた他の多くのソフトウェアを使用していますが、いずれも cygwin や MinGW を必要としません。
C++ のベスト プラクティス プログラミングに関する私の理解では、プラットフォームに中立なコードを適度に記述し、コンパイル プロセス中にすべての違いに対処できるということです。
では、GCC との契約はどうなるでしょうか。Windows でネイティブに実行できないのはなぜですか?
編集:
さて、これまでの2つの回答は、基本的に「GCCはposixヘッダーを使用するため、posixレイヤーを使用します」と言っています。
しかし、それは実際には質問に答えません。
お気に入りの標準ライブラリ用の一連のヘッダーが既にあるとしましょう。なぜまだ posix ヘッダーが必要なのですか?
GCC は、実際にRUNするために cygwin/mingw を必要としますか?
それとも、ヘッダーとライブラリのエミュレーション レイヤーだけが必要ですか? もしそうなら、必要なリソースを含む「lib」ディレクトリを与えることができないのはなぜですか?
もう一度編集:
わかりました、私は質問を明確にするためにもう一度試みます...
また、D プログラミング言語でコードを書きます。公式のコンパイラは「dmd」という名前で、Windows と Linux の両方に公式のコンパイラ バイナリがあります。
Windows バージョンでは、POSIX エミュレーションは一切必要ありません。また、Linux バージョンでは、Win32 エミュレーションは一切必要ありません。コンパイラがその環境に関する仮定を持っている場合、コンパイラはそれらの仮定をかなりうまく隠します。
もちろん、標準ライブラリの場所と、静的または動的にリンクするライブラリの場所をコンパイラに指示する必要があります。
対照的に、GCC は posix 環境で動作しているふりをすることを主張し、エミュレーション レイヤーをセットアップすることによって、これらの仮定をユーモアを交えて表現するように ME に要求します。
しかし、正確には、GCC 内でその層に依存しているものは何でしょうか? stdlib ヘッダーを探しているだけで、「/usr/lib」内にそれらのヘッダーが見つかると想定していますか?
その場合、「C:/gcc/lib」を調べてそれらのヘッダー ファイルを見つけるように指示することはできませんか?
それとも、GCC 自体が POSIX ライブラリに依存してファイル システムにアクセスする (およびその他の低レベルの操作を行う) のでしょうか。そうであれば、お気に入りの Windows POSIX ライブラリに静的にリンクしないのはなぜだろうか。ユーザーが依存関係をアプリケーションに直接組み込むことができるのに、なぜユーザーが依存関係をセットアップする必要があるのでしょうか?
regex - grep: リテラル "+" でのマッチング
SQL スクリプト (つまり、Oracle の外部結合式) で "(+)" の出現箇所を見つける必要があります。「+」、「(」、および「)」はすべて特殊な正規表現文字であることを認識して、次のことを試しました。
現在、これは「(+)」の発生を返しますが、他の行も返します。(同じ行に開き括弧と閉じ括弧があるものは何でも見えるようです。)括弧は拡張されたgrepだけに特別であることを思い出して、私は試しました:
これらは両方とも、「()」を含む行のみを返しました。したがって、「+」をエスケープできないと仮定して、古いトリックを試しました。
それはうまくいきます。非正規表現ツールで結果をクロスチェックしました。
質問: 「+」文字で何が起こっているのか正確に説明できる人はいますか? 「(+)」で一致させるためのより厄介な方法はありますか?
(cygwin grep コマンドを使用しています。)
編集:解決策をありがとう。-- そして今、Bruno が参照した GNU grep マニュアルによると、" " を基本\+
式で使用すると、"+" にその拡張された意味が与えられ、したがって 1 つまたは複数の "(" の後に ") が一致することがわかりました。 "。そして、私のファイルでは常に「()」です。