JP6122493B2 - 適応的に移植性を有したライブラリ - Google Patents

適応的に移植性を有したライブラリ Download PDF

Info

Publication number
JP6122493B2
JP6122493B2 JP2015518415A JP2015518415A JP6122493B2 JP 6122493 B2 JP6122493 B2 JP 6122493B2 JP 2015518415 A JP2015518415 A JP 2015518415A JP 2015518415 A JP2015518415 A JP 2015518415A JP 6122493 B2 JP6122493 B2 JP 6122493B2
Authority
JP
Japan
Prior art keywords
platform
specific
binary
code
executable file
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
Application number
JP2015518415A
Other languages
English (en)
Japanese (ja)
Other versions
JP2015524126A (ja
JP2015524126A5 (enExample
Inventor
トロフィン,ミルチャ
ツファリナ,クシシュトフ
デュスッド,パトリック・エイチ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015524126A publication Critical patent/JP2015524126A/ja
Publication of JP2015524126A5 publication Critical patent/JP2015524126A5/ja
Application granted granted Critical
Publication of JP6122493B2 publication Critical patent/JP6122493B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/423Preprocessors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • G06F9/44542Retargetable
    • G06F9/44547Fat binaries

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
JP2015518415A 2012-06-18 2013-05-28 適応的に移植性を有したライブラリ Active JP6122493B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/525,356 US10402208B2 (en) 2012-06-18 2012-06-18 Adaptive portable libraries
US13/525,356 2012-06-18
PCT/US2013/042791 WO2013191852A1 (en) 2012-06-18 2013-05-28 Adaptive portable libraries

Publications (3)

Publication Number Publication Date
JP2015524126A JP2015524126A (ja) 2015-08-20
JP2015524126A5 JP2015524126A5 (enExample) 2016-06-30
JP6122493B2 true JP6122493B2 (ja) 2017-04-26

Family

ID=48916167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015518415A Active JP6122493B2 (ja) 2012-06-18 2013-05-28 適応的に移植性を有したライブラリ

Country Status (6)

Country Link
US (1) US10402208B2 (enExample)
EP (1) EP2862066A1 (enExample)
JP (1) JP6122493B2 (enExample)
KR (1) KR102059705B1 (enExample)
CN (1) CN104412229B (enExample)
WO (1) WO2013191852A1 (enExample)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9032379B2 (en) * 2013-06-21 2015-05-12 Oracle International Corporation Platform specific optimizations in static compilers
US9223550B1 (en) * 2013-10-17 2015-12-29 Google Inc. Portable handling of primitives for concurrent execution
US9292270B2 (en) 2014-03-27 2016-03-22 Microsoft Technology Licensing, Llc Supporting dynamic behavior in statically compiled programs
US9389890B2 (en) * 2014-03-27 2016-07-12 Microsoft Technology Licensing, Llc Hierarchical directives-based management of runtime behaviors
US20160077831A1 (en) * 2014-09-11 2016-03-17 Microsoft Corporation Accurate and performant code design using memoization
US9977673B1 (en) * 2014-11-13 2018-05-22 Marvell International Ltd. Systems and methods for providing a platform-specific porting layer for multi-level software stacks
US9690552B2 (en) * 2014-12-27 2017-06-27 Intel Corporation Technologies for low-level composable high performance computing libraries
CN104503819A (zh) * 2015-01-05 2015-04-08 中国科学院计算技术研究所 一种面向异os的汇编器及汇编移植方法
US9529630B1 (en) 2015-01-21 2016-12-27 Pivotal Software, Inc. Cloud computing platform architecture
US10007500B1 (en) * 2015-01-21 2018-06-26 Pivotal Software, Inc. Cloud computing platform architecture
US10140104B2 (en) * 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
CN104978224B (zh) * 2015-07-06 2018-11-20 张兆琦 一种面向多硬件平台的应用程序管理方法
US10120661B2 (en) * 2015-07-16 2018-11-06 Sugarcrm Inc. Multi-flavored software execution from a singular code base
US9876852B2 (en) 2015-07-23 2018-01-23 Microsoft Technology Licensing, Llc Coordinating actions across platforms
US10180825B2 (en) * 2015-09-30 2019-01-15 Apple Inc. System and method for using ubershader variants without preprocessing macros
US11640284B2 (en) * 2015-11-30 2023-05-02 Oracle International Corporation Multi-platform compiling
JP6129376B1 (ja) * 2016-03-28 2017-05-17 株式会社ラック プログラム
US10740093B2 (en) 2016-09-01 2020-08-11 Dropbox, Inc. Advanced packaging techniques for improving work flows
US10289394B2 (en) * 2016-10-11 2019-05-14 Oracle International Corporation Selective generation of multiple versions of machine code for source code functions for execution on different processor versions and/or architectures
CN106445564B (zh) * 2016-12-23 2019-08-20 携程旅游网络技术(上海)有限公司 用于同平台具有不同编程语言项目的混合引用方法及系统
CN108614705B (zh) * 2017-02-07 2022-06-03 腾讯科技(深圳)有限公司 一种数据编译处理方法及终端
CN109213670A (zh) * 2017-06-30 2019-01-15 中兴通讯股份有限公司 实现白盒otn硬件设备的方法及装置、存储介质
US10579347B2 (en) 2017-11-03 2020-03-03 International Business Machines Corporation Self re-encoding interpreted application
CN108509200A (zh) * 2018-03-13 2018-09-07 中国银行股份有限公司 一种建立软件源代码与执行码之间关联的方法及装置
US10474479B1 (en) * 2018-06-03 2019-11-12 Apple Inc. Preventing framework conflicts for multi-OS applications
US10705511B2 (en) * 2018-07-11 2020-07-07 Siemens Aktiengesellschaft Abstraction layers for automation applications
JP7001012B2 (ja) 2018-07-30 2022-01-19 オムロン株式会社 サポート装置およびサポートプログラム
CN110806891B (zh) * 2019-09-27 2023-09-19 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 嵌入式设备软件版本的生成方法及装置
CN111552480B (zh) * 2020-05-07 2021-06-25 深圳百斯特控制技术有限公司 跨平台编译方法、装置、设备及可读存储介质
EP4476613A1 (en) * 2022-02-11 2024-12-18 Microsoft Technology Licensing, LLC Dynamically overriding a function based on a capability set during load time

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860006A (en) 1995-09-15 1999-01-12 Apple Computer, Inc. Processor independent network operating system loadable modules
JPH09190355A (ja) 1996-01-10 1997-07-22 Toshiba Corp プログラム変換方法
JP2000347875A (ja) 1999-04-23 2000-12-15 Sun Microsyst Inc ファイル移植技術
FR2801118B1 (fr) 1999-11-17 2001-12-21 Bull Cp8 Procede de chargement d'applications dans un systeme embarque multi-application, systeme embarque correspondant, et procede d'execution d'une application du systeme embarque
AR033549A1 (es) * 2000-08-07 2003-12-26 Diebold Inc Maquina automatica para operaciones bancarias, metodos para operarla y medio legible por computadora
US7346849B1 (en) * 2001-04-03 2008-03-18 Cypress Semiconductor Corp. Executable code derived from user-selectable links embedded within the comments portion of a program
US7210132B2 (en) 2002-05-30 2007-04-24 Microsoft Corporation Interoperability of objects between various platforms
US7546607B2 (en) 2002-11-19 2009-06-09 Microsoft Corporation Native code exposing virtual machine managed object
US7725884B2 (en) * 2003-02-28 2010-05-25 Microsoft Corporation System and method for compiling markup files
US7275241B2 (en) 2003-11-21 2007-09-25 International Business Machines Corporation Dynamic instrumentation for a mixed mode virtual machine
US20060080680A1 (en) 2004-10-12 2006-04-13 Majid Anwar Platform independent dynamic linking
US7945902B1 (en) 2005-07-13 2011-05-17 Oracle America, Inc. Detection of non-standard application programming interface usage via analysis of executable code
US20070169010A1 (en) * 2005-10-31 2007-07-19 Dhi Technologies, Inc. Multiplatform programming environment
US9553947B2 (en) * 2007-07-18 2017-01-24 Google Inc. Embedded video playlists
US8266582B2 (en) * 2008-03-31 2012-09-11 Oracle America, Inc. Method for creating unified binary files
US8141056B2 (en) 2008-04-03 2012-03-20 International Business Machines Corporation Just-in-time dynamic instrumentation
US9009662B2 (en) * 2008-12-18 2015-04-14 Adobe Systems Incorporated Platform sensitive application characteristics
US8843920B2 (en) * 2009-09-15 2014-09-23 Advanced Micro Devices, Inc. Systems and methods for deferring software implementation decisions until load time
WO2011116494A1 (en) * 2010-03-24 2011-09-29 Thomson Licensing Method and apparatus for monitoring quality of service of network
US8645934B2 (en) 2010-05-06 2014-02-04 International Business Machines Corporation Simultaneous compiler binary optimizations
US8572591B2 (en) 2010-06-15 2013-10-29 Microsoft Corporation Dynamic adaptive programming

Also Published As

Publication number Publication date
WO2013191852A1 (en) 2013-12-27
CN104412229B (zh) 2018-09-18
US20130339928A1 (en) 2013-12-19
JP2015524126A (ja) 2015-08-20
EP2862066A1 (en) 2015-04-22
US10402208B2 (en) 2019-09-03
KR20150024842A (ko) 2015-03-09
KR102059705B1 (ko) 2019-12-26
CN104412229A (zh) 2015-03-11

Similar Documents

Publication Publication Date Title
JP6122493B2 (ja) 適応的に移植性を有したライブラリ
US8726255B2 (en) Recompiling with generic to specific replacement
US8707263B2 (en) Using a DSL for calling APIS to test software
JP6294886B2 (ja) アプリケーション用の中間言語コードからネイティブコードを生成すること
US9430200B1 (en) Cross-library framework architecture feature sets
US8239823B2 (en) Generating libraries for reflection without project compilation
US8407667B2 (en) Inferring missing type information for reflection
US10540262B2 (en) Using edit and continue to dynamically set and unset optimizations in source code while debugging
US20100138817A1 (en) In-place function modification
US10120655B2 (en) Seamless high performance interoperability between different type graphs that share a garbage collector
KR20130101037A (ko) 사용자 정의 유형을 위한 컴파일 타임 경계 검사
CN105359090A (zh) 用于移动应用的系统和方法
WO2016094258A1 (en) Inter-procedural type propagation for devirtualization
KR20170057264A (ko) 멀티 컨텍스트 지능형 지원 기능을 갖는 코드 개발 툴
US8302073B2 (en) Moving and copying dependencies along with source code
US9141356B2 (en) Process for generating dynamic type
WO2022127263A1 (zh) 一种代码处理方法以及相关设备
US20170083298A1 (en) Resilient format for distribution of ahead-of-time compiled code components
CN111771186A (zh) 编译器生成的异步可枚举对象
US9098317B2 (en) Optional retargeting of library references
US9672020B2 (en) Selectively loading precompiled header(s) and/or portion(s) thereof
US9612808B1 (en) Memory use for string object creation
Liang et al. An OpenMP programming environment on mobile devices
Maas et al. A JVM for the Barrelfish Operating System

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160511

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170214

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: 20170302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170331

R150 Certificate of patent or registration of utility model

Ref document number: 6122493

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02