タグ付けされた質問 「linking」

3
クローズドソースアプリケーションからGPLライブラリにリンクできますか?
さて、誰もが重複した質問について叫ぶ前に、はい、私はすでにこのようないくつかの質問をここで見ました。しかし、誰も質問に答えません。 ライブラリを変更せずにGPL対応のライブラリにリンクする場合、ソースコードをリリースする必要がありますか? この質問によると、答えはイエスです! しかし、この答えは私にとって満足のいくものではありません。答えは基本的に、コードをオープンソースにすることなく、GPLコードを使用することはできません。 しかし、前のことが当てはまる場合、個人や組織がLinuxでプロプライエタリなソフトウェアをリリースすることは不可能であることを示しています。間違っているに違いありません。単に、アプリケーションが何か便利なことをしたり、ファイルを開いたり、コンソールに書き込んだり、TCP接続を作成したりするには、アプリケーションlibcがGPLでリンクされている必要があります。 だから私の質問は次のとおりです:サイト上の以前のすべての回答がそうであるように、GPLが別のGPLプログラムにリンクするプログラムはGPLでなければならないと述べている場合、独自のアプリケーションを作成/リリース/販売する方法は可能ですか? Linuxで実行されるものは何ですか?上で説明したように、そのアプリケーションはLinux上で実行するためだけにGPLコードに好まれる必要があります。 より実用的な例では、非GPLアプリケーションでGPLが適用された共有ライブラリにリンクすると言いますが、それは非GPLアプリケーションを強制的にGPLに変換しますか?より具体的には、GPLライブラリを変更せずに使用し、そのライブラリを.soまたはとして配布.dllすると、アプリケーションがオープンソースである必要がありますか?
34 gpl  linking 

7
.cppファイルのみを含めるとすべてが機能するのに、なぜ.hを含める必要があるのですか?
ファイルを含めるだけで機能させることができるのに、なぜファイル.hと.cppファイルの両方を含める必要があるの.cppですか? 例:file.h包含宣言を作成し、次にfile.cpp包含定義を作成し、両方を包含しmain.cppます。 または、file.cppを含む包含宣言/定義(プロトタイプなし)を作成しmain.cppます。 両方とも私のために働く。違いがわかりません。コンパイルとリンクのプロセスに関する何らかの洞察が役立つかもしれません。
18 c++  c  headers  linking  include 

3
ライブラリにリンクする代わりに、ライブラリのソースを追加する必要がありますか?
私は比較的C ++に慣れていないため、小さな依存関係(スクリプト言語、JSON / YAML / XMLパーサーなど)をどのように処理するのが最適かはわかりません。 個別のプロジェクトを作成して静的ライブラリとしてリンクする必要がありますか、それとも.h / .cppファイルをメインプロジェクトに配置するだけの欠点がありますか? 後者は、互換性のないライブラリ(ライブラリをビルドするときに異なるコンパイラ設定)を扱うのに数時間費やしたため、はるかに簡単に思えますが、C ++を間違った方法で学習し始めたくありません。 それらを個別のライブラリとして保持することが望ましい場合、.lib / .aファイルがアプリケーションに正常にリンクされるように、コンパイルフラグを同期させるにはどうすればよいでしょうか? (私は現在MSVC 2015で作業していますが、目標はXCode / clangを使用してMac OS XおよびiOSでコンパイルすることです。そのため、少なくとも3つの異なるタイプのライブラリ(Win x86、Mac x64、ARM)に対処する必要があります)
14 c++  linking 

1
コードセクションがテキストセクションと呼ばれるのはなぜですか?
コードを含む実行可能ファイルのセクションは、.textセクションと呼ばれることもあります。セグメント化されたメモリアーキテクチャでは、コードとしてマップされたセグメントは、テキストセグメントと呼ばれることもあります。UNIXエラーメッセージ「text file busy」(ETXTBSY)は、「このファイルは実行中のプログラムです」を意味します。 テキストはどのように実行可能(マシン)コードを意味するようになりましたか? 理想的な答えは次のとおりです。単語とその意味の関係を説明します。用語の起源または少なくとも歴史の引用を提供する; どのコミュニティがそれを使用しているのかを考えてください。

2
Apollo-11:リンカーの代わりにインクルージョンを使用する
最近デジタル化されてリポジトリになり、元のApollo 11ガイダンスコンピューターのソースコードがGithubで表示できるようになりました。 ではMAIN.agc、レポ作者のコメント、彼らはその 巨大なモノリシックソースコードを、より小さく管理しやすいチャンク、つまり個別のソースファイルに分割します。 少し後で、著者は述べています 単純にソースファイルを個別にアセンブルしてからリンクして実行可能ファイルを形成するのではなく、何万行ものソース行がインクルードによって結合される理由を合理的に尋ねられる場合があります。答えは、元の開発チームにはリンカーがなかったということです。 リンカとは何か知っており、リンカの要点は理解していますが、「ASMに関する限り」「結合によって結合される」というフレーズは聞いたことがありません。 これは何を意味するのでしょうか?リンカはプログラミングにおいて非常に重要であることを考えると、「組み込み手段」によるリンカのこの置換が何であり、それがどのように機能するのか私は興味があります。

2
Cでのライブラリのリンクに関する質問
LinuxでGCCコンパイラを使用してC(まだ初心者)を学んでいます。math.hヘッダーで使用されるライブラリなど、一部のライブラリを含める場合は、手動でリンクする必要があることに気付きました。上記の数学ライブラリ-l[library-name]など、さまざまな形式のフラグを使用してライブラリをリンクしてい-lmます。 ただし、コマンドラインからおよび/または切り替えた後GeanyにCode::Blocks、私は気づいCode::Blocks用途は、g++プログラムをコンパイルする代わりに、gcc私は(プロジェクトが間違いなくCとして指定されているにもかかわらず)に慣れていること。また、Code::Blocksそのような数学ライブラリなどのライブラリ-手動でコンパイルする際にリンクするライブラリを必要としないだけで仕事を。 2つの質問があります。 まず、g++コンパイラでCプログラムをコンパイルするのは「悪い」のでしょうか。これまでのところそれは動作するようですが、結局のところ、C ++はCではなく、g++コンパイラーがC ++用であることを確信しています。 次に、g++ライブラリの自動リンクを実行しているのはコンパイラCode::Blocksですか?
8 c  libraries  gcc  linking 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.