バイナリをリンクして、元のディレクトリから実行します

MaJoR

私はCで書かれたプログラムを持っています。それのディレクトリ構造は次のようなものです:

root/
    program.sh
    textures/
        texture1.png

program.sh次のような方法でテクスチャをインポートします:(load_textures("./textures/texture1.png")相対パス)。したがって、プログラムprogram.shrootディレクトリから実行するたびにのみ機能します。

リンクprogram.shを実行するたびにprogram.sh、ルートディレクトリからを実行できるようにリンクを作成したいと思いますつまり、program.shルートディレクトリの外部から実行たいのです

今、私はソースコードを変更せずにこれを行うソリューションを好みます(方法がある場合)、そうでなければ、現在のシナリオを前提として、Cでファイル/テクスチャを開くことをどのように推奨しますか?

ここでも同様の質問がありましたが、答えはありません。

aaaaaa123456789

コメントから明らかになったように、目標は別のディレクトリからプログラムを実行することでしたが、プログラムの現在の作業ディレクトリはそれ自体のディレクトリを指しています。

これCで実行できますが(POSIXシステムでは、.sh拡張機能のためにchdirexecvpsyscallの組み合わせを介して想定されます)、次のようにラッパーシェルスクリプトではるかに簡単に実行できます。

#!/bin/sh

pushd /path/to/executable
./program.sh $@
popd

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ターミナルを介してディレクトリからすべてのファイルを実行します

分類Dev

ターミナルを介して現在のディレクトリから各フォルダでアクションを実行します

分類Dev

PowerShell:スクリプトのディレクトリからコマンドを実行します

分類Dev

バイナリを/ sourcedirとそのサブディレクトリから/ destdirにコピーします

分類Dev

bashシェルスクリプトのglobからディレクトリ内のコマンドラインからコマンドを実行します

分類Dev

サブディレクトリからeslintを実行しています

分類Dev

実行可能ディレクトリ?そして、chmod o + wはターミナルディレクトリの色を変更しますか?

分類Dev

Processを使用してC#の元のディレクトリから.exeが実行されていない

分類Dev

実行ボックスからターミナルを開き、「 -- 」を使用してコマンドを実行し、他のディレクトリにファイルを書き込むことはできますか?

分類Dev

exec()の実行中にエラーが発生しました。コマンド:作業ディレクトリ:null環境:null-ルート化されていないデバイスでAndroidでバイナリを正しく実行する方法は?

分類Dev

別の作業ディレクトリからGit操作を実行します

分類Dev

別のディレクトリからgitlogを実行します

分類Dev

Linux:特定のバイナリを実行してから閉じる「パブリック」SSHアカウントを作成しますか?

分類Dev

RobotFramework-相対パスを使用してさまざまなディレクトリバリエーションからテストを実行する

分類Dev

ディレクトリを再帰的にループし、ディレクトリ内のファイルに対してコマンドを実行します

分類Dev

複数のディレクトリから同じ名前のファイルに対してコマンドを実行します

分類Dev

複数のディレクトリから同じ名前のファイルに対してコマンドを実行します

分類Dev

ディレクトリのサブディレクトリにあるいくつかのプログラムをコンパイルし、makefileを使用して実行可能ファイルを異なるディレクトリに配置します

分類Dev

リンクを実行してから再度リダイレクトする

分類Dev

UNIXはバイナリ検索を使用してディレクトリを検索しますか?

分類Dev

任意のディレクトリからWebサーバーを実行します

分類Dev

ディレクトリに移動し、そのディレクトリからスマッシング/ダッシュを実行します

分類Dev

CMakeを使用してソースディレクトリからバイナリディレクトリにファイルをコピーする

分類Dev

ディレクトリからSQLを並行して実行する

分類Dev

ディレクトリをfind内のファイルの場所に変更してから、2レベル上のスクリプトを実行します(同じディレクトリにあるかのように)-bash

分類Dev

fzfを使用して、ディレクトリからプログラムを検索して実行します

分類Dev

状態を設定してから、リダイレクト/ナビゲートを実行します

分類Dev

bashの別のディレクトリからコマンドを実行します

分類Dev

AzureコンテナとサブディレクトリからすべてのBLOBURIを取得します

Related 関連記事

  1. 1

    ターミナルを介してディレクトリからすべてのファイルを実行します

  2. 2

    ターミナルを介して現在のディレクトリから各フォルダでアクションを実行します

  3. 3

    PowerShell:スクリプトのディレクトリからコマンドを実行します

  4. 4

    バイナリを/ sourcedirとそのサブディレクトリから/ destdirにコピーします

  5. 5

    bashシェルスクリプトのglobからディレクトリ内のコマンドラインからコマンドを実行します

  6. 6

    サブディレクトリからeslintを実行しています

  7. 7

    実行可能ディレクトリ?そして、chmod o + wはターミナルディレクトリの色を変更しますか?

  8. 8

    Processを使用してC#の元のディレクトリから.exeが実行されていない

  9. 9

    実行ボックスからターミナルを開き、「 -- 」を使用してコマンドを実行し、他のディレクトリにファイルを書き込むことはできますか?

  10. 10

    exec()の実行中にエラーが発生しました。コマンド:作業ディレクトリ:null環境:null-ルート化されていないデバイスでAndroidでバイナリを正しく実行する方法は?

  11. 11

    別の作業ディレクトリからGit操作を実行します

  12. 12

    別のディレクトリからgitlogを実行します

  13. 13

    Linux:特定のバイナリを実行してから閉じる「パブリック」SSHアカウントを作成しますか?

  14. 14

    RobotFramework-相対パスを使用してさまざまなディレクトリバリエーションからテストを実行する

  15. 15

    ディレクトリを再帰的にループし、ディレクトリ内のファイルに対してコマンドを実行します

  16. 16

    複数のディレクトリから同じ名前のファイルに対してコマンドを実行します

  17. 17

    複数のディレクトリから同じ名前のファイルに対してコマンドを実行します

  18. 18

    ディレクトリのサブディレクトリにあるいくつかのプログラムをコンパイルし、makefileを使用して実行可能ファイルを異なるディレクトリに配置します

  19. 19

    リンクを実行してから再度リダイレクトする

  20. 20

    UNIXはバイナリ検索を使用してディレクトリを検索しますか?

  21. 21

    任意のディレクトリからWebサーバーを実行します

  22. 22

    ディレクトリに移動し、そのディレクトリからスマッシング/ダッシュを実行します

  23. 23

    CMakeを使用してソースディレクトリからバイナリディレクトリにファイルをコピーする

  24. 24

    ディレクトリからSQLを並行して実行する

  25. 25

    ディレクトリをfind内のファイルの場所に変更してから、2レベル上のスクリプトを実行します(同じディレクトリにあるかのように)-bash

  26. 26

    fzfを使用して、ディレクトリからプログラムを検索して実行します

  27. 27

    状態を設定してから、リダイレクト/ナビゲートを実行します

  28. 28

    bashの別のディレクトリからコマンドを実行します

  29. 29

    AzureコンテナとサブディレクトリからすべてのBLOBURIを取得します

ホットタグ

アーカイブ