JP7724163B2 - プログラム生成方法およびプログラム生成装置 - Google Patents
プログラム生成方法およびプログラム生成装置Info
- Publication number
- JP7724163B2 JP7724163B2 JP2022002403A JP2022002403A JP7724163B2 JP 7724163 B2 JP7724163 B2 JP 7724163B2 JP 2022002403 A JP2022002403 A JP 2022002403A JP 2022002403 A JP2022002403 A JP 2022002403A JP 7724163 B2 JP7724163 B2 JP 7724163B2
- Authority
- JP
- Japan
- Prior art keywords
- directory
- container
- program
- compiler
- host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
(ハードウェア構成)
先ず、図1を参照して、実施形態に係るプログラム生成装置100のハードウェア構成に説明する。図1は、実施形態に係るプログラム生成装置100のハードウェア構成を示す図である。プログラム生成装置100は、コンピュータで構成される。たとえば、プログラム生成装置100は、パーソナルコンピュータやサーバコンピュータ等で構成される。
次に、図2を参照して、プログラム生成装置100の機能構成について説明する。図2は、プログラム生成装置100の機能構成を模式的に示す図である。プログラム生成装置100は、コンテナ型の仮想環境を実現するプラットフォームであるコンテナエンジン120がホストOS110にインストールされている。コンテナ130は、コンテナイメージをコンテナエンジン120にマウントすることにより形成される。コンテナ130は、互いに隔離されたアプリケーション実行環境を提供する。各コンテナ130は、アプリケーション、ライブラリ、ミドルウェア等を含み、ホストOS110のカーネルを利用して動作する。たとえば、コンテナエンジン120は、Docker(登録商標)エンジンまたはDocker(登録商標)ホストであり、コンテナ130は、Docker(登録商標)コンテナである。
次に、図3を参照して、ハードディスク106内のホストOS110のソフトウェア構成について説明する。図3は、プログラム生成装置100のハードディスク106内のホストOS110のソフトウェア構成を模式的に示す図である。
次に、図4を参照して、プログラム生成装置100が実行するプログラムの生成の処理手順と処理内容について説明する。図4は、プログラム生成装置100が実行するプログラムの生成の処理手順と処理内容を示すフローチャートである。プログラムの生成は、CPU101とRAM102とハードディスク106の処理によって行われる。
実施形態では、次の手順でプログラムを生成する。(1)インテルコンパイラ221とコンパイラ設定ファイル222が保存されたホストOS110の/optディレクトリ220を、Debianコンテナ201の/optディレクトリ320へマウントする。(2)コンパイルされるソースコード212が保存されたホストOS110の作業ディレクトリ210を、Debianコンテナ201の作業ディレクトリ310へマウントする。(3)Debianコンテナ201において、ソースコード212をコンパイルしてプログラム213を生成する。(4)生成したプログラム213をDebianコンテナ201の作業ディレクトリ310に保存することにより、ホストOS110の作業ディレクトリ210にプログラム213を生成する。
Claims (4)
- 複数のディストリビューションで実行できるプログラムを、前記複数のディストリビューションで生成できるコンパイラが保存されたホストOSの第1のディレクトリを、コンテナの第1のディレクトリへマウントするステップと、
コンパイルされるソースコードが保存された前記ホストOSの第2のディレクトリを、前記コンテナの第2のディレクトリへマウントするステップと、
前記コンテナにおいて、前記コンパイラを用いて前記ソースコードをコンパイルしてプログラムを生成するステップと、
生成された前記プログラムを前記コンテナの前記第2のディレクトリに保存することにより、前記ホストOSの前記第2のディレクトリに前記プログラムを生成するステップ
を有するプログラム生成方法。 - 前記ホストOSの前記第1のディレクトリには、コンパイラ設定ファイルが保存されており、
前記プログラムを生成するステップの前に、前記コンテナにおいて、前記コンパイラ設定ファイルに基づいて前記コンパイラが必要とする環境変数を設定するステップを有し、
前記プログラムを生成するステップは、設定された前記環境変数に基づいて前記コンパイラを用いて前記ソースコードをコンパイルする、
請求項1に記載のプログラム生成方法。 - CPUと、
ホストOSのソフトウェア構成を記憶した記憶装置を有し、
前記CPUは、
複数のディストリビューションで実行できるプログラムを、前記複数のディストリビューションで生成できるコンパイラが保存されたホストOSの第1のディレクトリを、コンテナの第1のディレクトリへマウントし、
コンパイルされるソースコードが保存された前記ホストOSの第2のディレクトリを、前記コンテナの第2のディレクトリへマウントし、
前記コンテナにおいて、前記コンパイラを用いて前記ソースコードをコンパイルしてプログラムを生成し、
生成された前記プログラムを前記コンテナの前記第2のディレクトリに保存することにより、前記ホストOSの前記第2のディレクトリに前記プログラムを生成する
ように構成されているプログラム生成装置。 - 前記ホストOSの前記第1のディレクトリには、コンパイラ設定ファイルが保存されており、
前記CPUは、
前記プログラムを生成するステップの前に、前記コンテナにおいて、前記コンパイラ設定ファイルに基づいて前記コンパイラが必要とする環境変数を設定し、
設定された前記環境変数に基づいて前記コンパイラを用いて前記ソースコードをコンパイルする
ように構成されている、請求項3に記載のプログラム生成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022002403A JP7724163B2 (ja) | 2022-01-11 | 2022-01-11 | プログラム生成方法およびプログラム生成装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022002403A JP7724163B2 (ja) | 2022-01-11 | 2022-01-11 | プログラム生成方法およびプログラム生成装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023102064A JP2023102064A (ja) | 2023-07-24 |
| JP7724163B2 true JP7724163B2 (ja) | 2025-08-15 |
Family
ID=87425307
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022002403A Active JP7724163B2 (ja) | 2022-01-11 | 2022-01-11 | プログラム生成方法およびプログラム生成装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7724163B2 (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180285156A1 (en) | 2017-03-31 | 2018-10-04 | International Business Machines Corporation | Container chaining for automated process completion |
| US20180336123A1 (en) | 2017-05-17 | 2018-11-22 | Red Hat, Inc. | Container testing using a directory and test artifacts and/or test dependencies |
| JP2018536206A (ja) | 2015-10-23 | 2018-12-06 | オラクル・インターナショナル・コーポレイション | マルチテナント・ミドルウェア・アプリケーションから呼出されたosプログラムのマルチテナント実行のためのシステムおよび方法 |
| US20210019169A1 (en) | 2019-07-16 | 2021-01-21 | International Business Machines Corporation | Container-based virtualization system |
-
2022
- 2022-01-11 JP JP2022002403A patent/JP7724163B2/ja active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018536206A (ja) | 2015-10-23 | 2018-12-06 | オラクル・インターナショナル・コーポレイション | マルチテナント・ミドルウェア・アプリケーションから呼出されたosプログラムのマルチテナント実行のためのシステムおよび方法 |
| US20180285156A1 (en) | 2017-03-31 | 2018-10-04 | International Business Machines Corporation | Container chaining for automated process completion |
| US20180336123A1 (en) | 2017-05-17 | 2018-11-22 | Red Hat, Inc. | Container testing using a directory and test artifacts and/or test dependencies |
| US20210019169A1 (en) | 2019-07-16 | 2021-01-21 | International Business Machines Corporation | Container-based virtualization system |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023102064A (ja) | 2023-07-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6760905B1 (en) | Lazy compilation of template-generated classes in dynamic compilation execution environments | |
| KR100713740B1 (ko) | 자원-제약 장치를 위한 객체지향 명령어 세트 | |
| Wen et al. | Wasmachine: Bring iot up to speed with a webassembly os | |
| US20050223018A1 (en) | Efficient linking and loading for late binding and platform retargeting | |
| JPH11237991A (ja) | コンパイル済アクティベーションを動的に逆最適化する方法及び装置 | |
| JP2002508560A (ja) | マルチプル・クラスファイルのランタイムイメージへの結合 | |
| CN111324421A (zh) | 一种容器镜像的提供方法、加载方法及相关设备和系统 | |
| US9141358B2 (en) | Reducing application startup time by optimizing spatial locality of instructions in executables | |
| US20040083467A1 (en) | System and method for executing intermediate code | |
| US20260104870A1 (en) | Smart contract calling methods, execution methods, computer devices, and storage media | |
| CN106293870A (zh) | 计算机系统及其策略导向压缩方法 | |
| US8200938B2 (en) | Computer system and method providing a memory buffer for use with native and platform-independent software code | |
| Engelke et al. | Efficient LLVM-based dynamic binary translation | |
| CN118626298A (zh) | 一种代码异常处理的方法及装置 | |
| Lagartos et al. | Efficient runtime metaprogramming services for Java | |
| US20020087958A1 (en) | Method and apparatus of transforming a class | |
| Kaur et al. | Implementation of linux optimization technique for ARM based system on chip | |
| US20260099310A1 (en) | Wasm bytecode optimization methods, execution methods, computer devices, and storage media | |
| US20260093465A1 (en) | Wasm bytecode optimization methods, execution methods, computer devices, and storage media | |
| WO2025020395A1 (zh) | 一种优化wasm字节码的方法及执行方法、计算机设备及存储介质 | |
| JP7724163B2 (ja) | プログラム生成方法およびプログラム生成装置 | |
| JP5506936B2 (ja) | 意味論的値を利用するオブジェクト・レベルの互換性及びクラスのサイズ変更 | |
| US7159222B1 (en) | Highly componentized system architecture with object mutation | |
| Hong et al. | Java client ahead-of-time compiler for embedded systems | |
| CN114253523A (zh) | 读取裸设备的方法、装置、计算机设备和介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20230104 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240913 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250618 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250708 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250804 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7724163 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |