CN104412229B - 自适应可移植库 - Google Patents
自适应可移植库 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/423—Preprocessors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
- G06F9/44542—Retargetable
- G06F9/44547—Fat 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)
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)
| 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)
| 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)
| 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 |
-
2012
- 2012-06-18 US US13/525,356 patent/US10402208B2/en active Active
-
2013
- 2013-05-28 WO PCT/US2013/042791 patent/WO2013191852A1/en not_active Ceased
- 2013-05-28 JP JP2015518415A patent/JP6122493B2/ja not_active Expired - Fee Related
- 2013-05-28 CN CN201380032264.9A patent/CN104412229B/zh active Active
- 2013-05-28 EP EP13745208.2A patent/EP2862066A1/en not_active Ceased
- 2013-05-28 KR KR1020147035504A patent/KR102059705B1/ko not_active Expired - Fee Related
Patent Citations (2)
| 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)
| 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 |