問題タブ [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 相互運用に関する質問
自分で答えを見つけるために検索する方法がよくわからないCygwinの質問の簡単なカップル:
質問:走るとき
私のcygwinのインストールでは、プレインストールされたWindowsのインストールを指していません。cygwinのインストールを指しています。Windowsベースのperlインストールを指すように変更するにはどうすればよいですか:
質問: cygwin を起動するデスクトップ ショートカットを見ると、bash を指しています。
許可されているコマンドライン フラグのドキュメントが見つかりません。具体的には、事前定義されたユーザー コマンドを渡すことができるフラグを見つけて、cygwin の起動時にそのコマンドを入力しなくても自動的に呼び出されるようにしたいと考えています。
これは定期的にカスタマイズしたいものなので、.bash_profile などに入れるのは効率的ではありません。できればコマンドラインから指定できるようにしたいです。
unicode - ファイルを Unicode として保存するスクリプト
ANSI文字エンコーディングで保存された一連のテキストファイルをプログラムまたはスクリプトを介してUnicodeエンコーディングに変換する方法を知っていますか?
メモ帳でファイルを開いてUnicodeファイルとして保存することを選択したときと同じことをしたいと思います。
python - 誰かがMySQLdbforPythonをCygwinにインストールしましたか?
CygwinにPython用のMySQLdbをインストールしようとしています。残念ながら、を実行するpython setup.py build
と、次のエラーが発生します。
mysql_config
明らかに私はインストールしていません、それが問題だと思います。これはMySQLdbのREADMEに記載されていますが、回避方法やmysql_configのインストール方法については説明されていません。
したがって、これは次のように簡単mysql_config
です。Cygwinにインストールするにはどうすればよいですか?
あるいは、それより難しいかもしれません。
参考:私はPython2.5.2とMySQL5.1.30をCygwinで実行しています。
g++ - Magick++ と cygwin の g++ の問題
Magick++ と cygwin を使用して単純な C++ ファイルをコンパイルしようとすると、次の結果が得られます。
cygwin gui セットアップで ImageMagick をインストールしました。
bash - bashスクリプトからCygwin bashでスクリプトのプロセスツリーを終了する方法
特定の条件下で、特に特定のファイルが作成された後に、監視して終了する必要がある Cygwin bash スクリプトがあります。ただし、Ctrl + Cと同じレベルの完全性でスクリプトを正確に終了する方法を理解するのは困難です。
test1
以下は、終了するのを待つだけの簡単なスクリプト ( と呼ばれる) です。
このスクリプトがフォアグラウンドで実行される場合、Ctrl+C はtail
とスクリプト自体の両方を終了します。スクリプトがバックグラウンドで実行されている場合、kill %1
(ジョブ 1 であると仮定して) もtail
とスクリプトの両方を終了します。
ただし、スクリプトから同じことを実行しようとすると、スクリプトをbash
実行しているプロセスのみが終了tail
し、親から切断されたままになっていることがわかります。これが私が試した1つの方法です(test2
):
これが実行されると、バックグラウンドで実行されている bash サブシェルは正常に終了しますが、tail
まだハングアップします。
このように、明示的に別のスクリプトを使用しても、まだ機能しません ( test3
):
tail
このスクリプトが実行された後もまだぶらぶらしています。
私の実際のケースでは、ファイルを作成するプロセスは特に計測可能ではないため、自然に終了させることはできません。ただし、特定のファイルがいつ作成されたかを調べることで、その時点でそのファイルを終了しても問題ないことを知ることができます。残念ながら、killall
複数のインスタンスが実行されている可能性があり、特定のインスタンスのみを強制終了したいため、シンプルまたは同等のものは使用できません。
bash - BASH スクリプトの実行時間を制限する方法
Windows の CYGWIN で実行している BASH スクリプトを長時間実行しています。
スクリプトの実行を 30 秒に制限し、この制限を超えると自動的に終了したいと考えています。理想的には、これを任意のコマンドで実行できるようにしたいと考えています。
例えば:
また
cygwin では、ulimit コマンドが機能しないようです。
私はどんなアイデアにもオープンです。
c - Windowsでcygwinを使用してコンパイルされたCプログラムが機能し、Linuxでセグメンテーション違反が発生します。cygwin GCCは「悪い」ですか?
私のProgramming102クラスでは、Linuxでコンパイルおよび実行されるCコードを提供するように求められます。ハードドライブにWindowsと一緒にLinuxをインストールするのに十分な空き容量がないため、cygwinを使用してプログラムをコンパイルします。
私がコンパイルで提供しなければならなかった最新のプログラムは、cygwinの下で正常に実行されます。Linuxでは正常にコンパイルされますが、実行の途中でセグメンテーション違反が発生します。私はこれをクラスを提供する大学院生に説明しました、そして彼はcygwinのバージョンのGCCはより滑らかなコードをコンパイルして実行することを可能にする、と言いました。
私がグーグルで見つけたいくつかの参考文献は決定的なものではありませんでした。私が見つけたあるスレッドは、Linuxでのセグメンテーション違反の原因はメモリリークであると述べました。なぜこれがcygwinバージョンに影響を与えないのでしょうか?
私は大学のコンピューターを使用しますが、Subversionを使用できないため、作業が大幅に妨げられます。(私はコーディングに不慣れで、多くの場合、以前にXリビジョンに戻せるようにする必要があります)。
cygwinのバージョンのGCCは、コンパイルするコードで本当に「緩い」のでしょうか?もしそうなら、コーディング時に注意すべき明らかな問題はありますか?Linuxで実行されるコードを記述できるようにするための代替手段はありますか?
編集
返信ありがとうございます。私は元の投稿で十分に明確ではありませんでした:私のコードにバグがあることは私にはほとんど与えられていました(私はプログラミングにまったく慣れておらず、結局のところ、Cに関しては本当に環境に優しいです)。私のTAは、cygwinのGCCは信頼性の低いコンパイラであり、GNU/Linuxで見られるものよりもはるかにスロープなコードを実行できます。私はこれが奇妙だと思ったのでインターネットで検索しましたが、その事実への言及は実際には見つかりませんでした。
コンパイラと私のコードを非難するだけでなく、プログラムがWindowsで実行され、Linuxでクラッシュする理由は何でしょうか。返信は次のとおりです。Windows/Linuxでのさまざまなメモリマネージャーとヒープ/スタックレイアウトがその点を示していました。
cygwinのGCCはGNU/Linuxと同じくらい「良い」であり、私のバグのあるプログラムが一方の下で実行され、もう一方の下で実行されないのは、基盤となるオペレーティングシステム/幸運であるという結論はほとんど正しいでしょうか?
ソースコードの投稿に関しては、宿題なので、できれば自分で問題を見つけたいと思います:)
編集2
LinuxではなくWindowsでプログラムを実行する理由について説明しているjalfの回答を受け入れました。これは、私が本当に知りたかったことです。貢献してくれた他のみんなのおかげで、彼らは皆とても興味深くそして有益な返事でした。
問題を見つけて修正したら、この機能していないバージョンのすべてのソースコードを含むzipファイルをアップロードします。誰かが私が何をしたのか知りたがっている場合に備えて:)
編集3
コードを見ることに興味がある人のために、私は問題を見つけました、そしてそれは確かにポインターによるものでした。関数からポインタを返そうとしていました。私が返そうとしていたポインタは関数内で宣言されていたため、関数が実行されると破棄されていました。問題のあるコードは22〜24行目にコメントアウトされています。
私のコードを自由に嘲笑してください。
python - Django と Cygwin を統合するには?
cygwin、python、およびdjangoがインストールされたWindowsボックスがあります。
今、django-adminを実行したいのですが、実行するとエラーが発生します:
eclipse - CygwinのGDBに実行可能ファイルへのposixパスを与えるようにEclipseを取得するにはどうすればよいですか?
Windows で Eclipse を使用して、Cygwin のツールチェーンを使用して C++ をプログラミングしています。デバッグにも使用したいのですが、私の問題は次のとおりです。
- デバッグする実行可能ファイルは、ワークスペースのサブフォルダー (かなり標準的だと思います) にありますが、実行可能ファイルのビルド元の実際のプロジェクトにはありません。
- Eclipse と GDB のパス形式は異なります。Eclipse は Windows パスで動作しますが、GDB は posix パスで動作します。Eclipse は知っていますが
D:\Path\To\Exe
、GDB は必要/cygdrive/d/Path/To/Exe
です。 - 「デバッグ構成...」ダイアログにパスを入力すると、デバッグする実行可能ファイルを見つけることができるとEclipseが主張します。パスが正しくなるまで、[デバッグ] ボタンは無効になります。
${workspace_loc}
Eclipse はその特定の入力ボックスを受け入れないようです。
私が知らない隠しオプションはありますか?以前に問題が発生したことがありますか?
これまでに試したこと
- 入力したパスを Eclipse に強制的に GDB に渡す --- 機能しませんでした。
- ソース ルックアップ パスとパス マッピングをいじる ---機能しませんでした。実際には、ソース ファイルのためだけです。
- 実行可能ファイルがある出力フォルダーの C++ プロジェクトを作成すると、プロジェクト内の exe への相対パスを指定できます ---機能しませんでした。
まだ試すことができること
- このファイルを使用して、
.gdbinit
Eclipse によって指定されたパスを破棄し、実際の実行可能ファイルを posix パスでロードします --- 試してみましたが、それほど難しくはありませんでした。 - GDB への引数としてラッパーを指定します --- ワークスペースのルートを汚染します。
- ケースに対処するために独自のプラグインを提供します --- 別の言語で維持する別のコードを追加します。
cygwin - Cygwin の Make/Execvp エラー:
インクリメンタル ビルドを実行しようとすると、make で次のエラーが発生します。
make[2]: execvp: C:/path/to/compiler.exe: メッセージが長すぎます
ここでの問題は、execvp の引数の長さにあると思います。その限界は何か分かりますか?それを変えるにはどうすればよいでしょうか?
興味深い追加情報: 以前の make 依存関係が短い名前のフォルダーにある場合、同じコマンドが成功します。execvp に依存するメモリの量は、以前のコマンドの影響を受けていますか?
たとえば、インクリメンタル ビルド ファイル (数百ある) へのパスから 17 文字を切り捨てると、約 12k 文字が節約され、コンパイラへの 6k 文字のコマンド ラインは成功します。そのパスを削減しないと、同じコマンド ラインが失敗します。