CN104412229B - 自适应可移植库 - Google Patents

自适应可移植库 Download PDF

Info

Publication number
CN104412229B
CN104412229B CN201380032264.9A CN201380032264A CN104412229B CN 104412229 B CN104412229 B CN 104412229B CN 201380032264 A CN201380032264 A CN 201380032264A CN 104412229 B CN104412229 B CN 104412229B
Authority
CN
China
Prior art keywords
platform
specific
abstraction layer
source code
binary
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
CN201380032264.9A
Other languages
English (en)
Chinese (zh)
Other versions
CN104412229A (zh
Inventor
M·特罗芬
K·克瓦利纳
P·H·杜斯德
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 Technology Licensing LLC
Original Assignee
Microsoft Corp
Microsoft Technology Licensing LLC
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, Microsoft Technology Licensing LLC filed Critical Microsoft Corp
Publication of CN104412229A publication Critical patent/CN104412229A/zh
Application granted granted Critical
Publication of CN104412229B publication Critical patent/CN104412229B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)
CN201380032264.9A 2012-06-18 2013-05-28 自适应可移植库 Active CN104412229B (zh)

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 (2)

Publication Number Publication Date
CN104412229A CN104412229A (zh) 2015-03-11
CN104412229B true CN104412229B (zh) 2018-09-18

Family

ID=48916167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380032264.9A Active CN104412229B (zh) 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 中国银行股份有限公司 一种建立软件源代码与执行码之间关联的方法及装置
US10983803B2 (en) * 2018-06-03 2021-04-20 Apple Inc. Annotating dynamic libraries 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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050108694A1 (en) * 2003-02-28 2005-05-19 Sundaram Ramani System and method for compiling markup files
US20110276954A1 (en) * 2010-05-06 2011-11-10 International Business Machines Corporation Simultaneous compiler binary optimizations

Family Cites Families (19)

* 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
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
US9276975B2 (en) * 2010-03-24 2016-03-01 Thomson Licensing Method and apparatus for monitoring quality of service of network
US8572591B2 (en) 2010-06-15 2013-10-29 Microsoft Corporation Dynamic adaptive programming

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050108694A1 (en) * 2003-02-28 2005-05-19 Sundaram Ramani System and method for compiling markup files
US20110276954A1 (en) * 2010-05-06 2011-11-10 International Business Machines Corporation Simultaneous compiler binary optimizations

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Platform-Independent Programs;Sang Kil Cha 等;《ACM Conference On Computer And Communications Security》;20101004;第550、555页,图2-4,6,9 *

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104412229B (zh) 自适应可移植库
US8707263B2 (en) Using a DSL for calling APIS to test software
JP6457594B2 (ja) 変換コンテンツ・アウェア・データー・ソース管理
US10152309B2 (en) Cross-library framework architecture feature sets
US8239823B2 (en) Generating libraries for reflection without project compilation
US8407667B2 (en) Inferring missing type information for reflection
CN106716361B (zh) 用于运行时例程冗余跟踪的编译器高速缓存
EP3365772B1 (en) Missing include suggestions for external files
CN102270128B (zh) 库一致性检查器
US10241763B2 (en) Inter-procedural type propagation for devirtualization
US9817643B2 (en) Incremental interprocedural dataflow analysis during compilation
JP2015531502A (ja) アプリケーション用の中間言語コードからネイティブコードを生成すること
CN106471476A (zh) 用于对经优化代码的编辑并继续以及增强的经优化调试的技术
US10120655B2 (en) Seamless high performance interoperability between different type graphs that share a garbage collector
US8935686B2 (en) Error-code and exception-based function dispatch tables
US9563412B2 (en) Statically extensible types
US20150355890A1 (en) Automatic configuration of project system from project capabilities
Liu Android native development kit cookbook
US20200110587A1 (en) Memory ordering annotations for binary emulation
US10572275B2 (en) Compatible dictionary layout
US20170083298A1 (en) Resilient format for distribution of ahead-of-time compiled code components
US9098317B2 (en) Optional retargeting of library references

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20171016

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant