CA2143488A1 - Dynamic Link Libraries Without Linker or Loader Support - Google Patents

Dynamic Link Libraries Without Linker or Loader Support

Info

Publication number
CA2143488A1
CA2143488A1 CA2143488A CA2143488A CA2143488A1 CA 2143488 A1 CA2143488 A1 CA 2143488A1 CA 2143488 A CA2143488 A CA 2143488A CA 2143488 A CA2143488 A CA 2143488A CA 2143488 A1 CA2143488 A1 CA 2143488A1
Authority
CA
Canada
Prior art keywords
linker
loader support
dynamic link
dll
link libraries
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.)
Granted
Application number
CA2143488A
Other languages
French (fr)
Other versions
CA2143488C (en
Inventor
Robert Paul Duncan
Mike Stephen Fulton
Brian James Minchau
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.)
IBM Canada Ltd
Original Assignee
IBM Canada Ltd
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 IBM Canada Ltd filed Critical IBM Canada Ltd
Priority to CA002143488A priority Critical patent/CA2143488C/en
Priority to JP8016858A priority patent/JPH08339296A/en
Priority to US08/606,788 priority patent/US5916308A/en
Publication of CA2143488A1 publication Critical patent/CA2143488A1/en
Application granted granted Critical
Publication of CA2143488C publication Critical patent/CA2143488C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Abstract

In present computing systems having dynamic linked libraries (DLLs), the user must either explicitly provide directives at the source level or use linker and loader support provided by the computing system. The present invention enables an application programmer to use unmodified source code in conjunction with a compiler, prelinker and runtime library to develop and use DLLs. A DLL can be extended by adding new functions and variables without requiring users of the DLL to recompile or relink their application.
CA002143488A 1995-02-27 1995-02-27 Dynamic link libraries without linker or loader support Expired - Fee Related CA2143488C (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA002143488A CA2143488C (en) 1995-02-27 1995-02-27 Dynamic link libraries without linker or loader support
JP8016858A JPH08339296A (en) 1995-02-27 1996-02-01 Method for linking of dynamic link library to program
US08/606,788 US5916308A (en) 1995-02-27 1996-02-27 Dynamic link libraries without linker or loader support

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002143488A CA2143488C (en) 1995-02-27 1995-02-27 Dynamic link libraries without linker or loader support

Publications (2)

Publication Number Publication Date
CA2143488A1 true CA2143488A1 (en) 1996-08-28
CA2143488C CA2143488C (en) 2000-01-11

Family

ID=4155320

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002143488A Expired - Fee Related CA2143488C (en) 1995-02-27 1995-02-27 Dynamic link libraries without linker or loader support

Country Status (3)

Country Link
US (1) US5916308A (en)
JP (1) JPH08339296A (en)
CA (1) CA2143488C (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014001801A1 (en) * 2012-06-27 2014-01-03 Nordic Semiconductor Asa Integrated-circuit radio
US10055367B2 (en) 2013-12-23 2018-08-21 Nordic Semiconductor Asa Integrated-circuit radio

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110194A (en) * 1997-10-06 1999-04-23 Toshiba Corp Connection method to external library function and recording medium in which the connection method is recorded and programmed
US6292843B1 (en) * 1998-01-16 2001-09-18 International Business Machines Corporation Quick loading of run time dynamic link library for OS/2
JP4562910B2 (en) * 1998-03-23 2010-10-13 マイクロソフト コーポレーション Operating system application program interface
US8434099B2 (en) * 1998-09-09 2013-04-30 Microsoft Corporation Efficient linking and loading for late binding and platform retargeting
US7409694B2 (en) * 1998-09-09 2008-08-05 Microsoft Corporation Highly componentized system architecture with loadable virtual memory manager
EP0997815A3 (en) * 1998-10-29 2004-05-26 Texas Instruments Incorporated Interactive translation system and method
US7523471B1 (en) * 1998-12-18 2009-04-21 Siemens Aktiengesellschaft Interpretive network daemon implemented by generic main object
US7536683B2 (en) * 1999-01-15 2009-05-19 Adobe Systems Incorporated Method of dynamically appending a library to an actively running program
JP2001010119A (en) * 1999-06-28 2001-01-16 Canon Inc Data base and image processor employing it
US7268897B1 (en) 1999-06-28 2007-09-11 Canon Kabushiki Kaisha Print control apparatus and method
US6442752B1 (en) * 1999-08-26 2002-08-27 Unisys Corporation Method, apparatus, and computer program product for replacing a dynamic link library (dll) of a first computing environment with a dll of a second computing environment that can be invoked from the first computing environment in a transparent manner
US6745385B1 (en) * 1999-09-01 2004-06-01 Microsoft Corporation Fixing incompatible applications by providing stubs for APIs
US6928548B1 (en) * 2000-09-29 2005-08-09 Intel Corporation System and method for verifying the integrity of stored information within an electronic device
US20020174257A1 (en) * 2001-05-03 2002-11-21 International Business Machines Corporation Application assisted executable exports
CA2347404C (en) * 2001-05-10 2008-11-18 Corel Corporation System and method for recovering applications
JP2005515520A (en) * 2001-05-30 2005-05-26 リサーチ イン モーション リミテッド Mobile communication device application processing system
JP2002373077A (en) * 2001-06-14 2002-12-26 Nec Corp Method and device for retrieving execution time library, dynamic linker and program
US6865742B1 (en) * 2001-08-16 2005-03-08 Cisco Technology, Inc. Run-time property-based linking of software modules
US7320075B2 (en) 2001-11-20 2008-01-15 Safenet, Inc. Software protection method utilizing hidden application code in a protection dynamic link library object
US7496757B2 (en) * 2002-01-14 2009-02-24 International Business Machines Corporation Software verification system, method and computer program element
US7844734B2 (en) * 2002-11-18 2010-11-30 Innopath Software, Inc. Dynamic addressing (DA) using a centralized DA manager
US20040123308A1 (en) * 2002-12-20 2004-06-24 Siemens Information And Communication Networks, Inc. Hybird of implicit and explicit linkage of windows dynamic link labraries
US7124145B2 (en) * 2003-03-27 2006-10-17 Millennium It (Usa) Inc. System and method for dynamic business logic rule integration
US20050028151A1 (en) * 2003-05-19 2005-02-03 Roth Steven T. Module symbol export
GB2407655B (en) * 2003-10-28 2009-08-05 Symbian Ltd Mapping of dynamic link libraries in a computing device
KR100617698B1 (en) * 2004-06-07 2006-08-28 삼성전자주식회사 Binary file creating apparatus and method for storing functional data, and a computer readable storage medium storing the method
US20060026584A1 (en) * 2004-07-27 2006-02-02 Muratori Richard D Explicit linking of dynamic link libraries
WO2006040506A1 (en) * 2004-10-12 2006-04-20 Picsel (Research) Limited Run tune dynamic linking
US20060080682A1 (en) * 2004-10-12 2006-04-13 Picsel Research Ltd. Run time dynamic linking
DE102004058882A1 (en) * 2004-12-06 2006-06-08 Giesecke & Devrient Gmbh Generating program code in a load format and providing executable program code
US8516469B2 (en) * 2005-07-25 2013-08-20 Flexera Software Llc Function binding method and system
TW200739421A (en) * 2006-04-07 2007-10-16 Sunplus Technology Co Ltd Method of dynamically linking function database software devices and sharing static linked source codes with main application program
US9009656B2 (en) * 2006-05-02 2015-04-14 International Business Machines Corporation Source code analysis archival adapter for structured data mining
US7752638B2 (en) * 2006-06-05 2010-07-06 International Business Machines Corporation Method for defining and dynamically invoking polymorphic call flows
US20080201759A1 (en) * 2007-02-15 2008-08-21 Microsoft Corporation Version-resilience between a managed environment and a security policy
US8336043B2 (en) 2007-02-15 2012-12-18 Microsoft Corporation Dynamic deployment of custom code
US7987457B2 (en) * 2007-06-25 2011-07-26 Microsoft Corporation Targeted patching for native generation images
WO2011048731A1 (en) * 2009-10-21 2011-04-28 日本電気株式会社 Computer system, ring method used therein, and non-temporary computer-readable medium having a program therefor stored thereon
US10108404B2 (en) * 2016-10-24 2018-10-23 International Business Machines Corporation Compiling optimized entry points for local-use-only function pointers
US10606611B2 (en) 2017-06-02 2020-03-31 Apple Inc. Techniques for performing dynamic linking
CN108255537A (en) * 2017-06-20 2018-07-06 广州华多网络科技有限公司 A kind of DLL base address optimization method, system and application program loading method, system
CN110765493B (en) * 2018-12-28 2021-05-25 北京安天网络安全技术有限公司 File baseline defense method and device based on Linux pre-link and storage equipment
CN110196720B (en) * 2019-05-29 2023-01-10 北京灵思创奇科技有限公司 Optimization method for generating dynamic link library by Simulink
CN113204377B (en) 2020-01-31 2022-12-06 华为技术有限公司 Method and device for loading dynamic link library

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175828A (en) * 1989-02-13 1992-12-29 Hewlett-Packard Company Method and apparatus for dynamically linking subprogram to main program using tabled procedure name comparison
US5247678A (en) * 1989-10-12 1993-09-21 Texas Instruments Incorporated Load time linker for software used with a multiprocessor system
US5297291A (en) * 1991-03-07 1994-03-22 Digital Equipment Corporation System for linking program units by binding symbol vector index in the symbol table into calling image to obtain current value of the target image
US5339430A (en) * 1992-07-01 1994-08-16 Telefonaktiebolaget L M Ericsson System for dynamic run-time binding of software modules in a computer system
US5408665A (en) * 1993-04-30 1995-04-18 Borland International, Inc. System and methods for linking compiled code with extended dictionary support
US5561800A (en) * 1993-05-19 1996-10-01 Hewlett-Packard Company Method and apparatus for incrementally linking modified routines into software
US5615400A (en) * 1993-06-30 1997-03-25 Apple Computer, Inc. System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers
US5774722A (en) * 1995-12-14 1998-06-30 International Business Machines Corporation Method for efficient external reference resolution in dynamically linked shared code libraries in single address space operating systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014001801A1 (en) * 2012-06-27 2014-01-03 Nordic Semiconductor Asa Integrated-circuit radio
US10055367B2 (en) 2013-12-23 2018-08-21 Nordic Semiconductor Asa Integrated-circuit radio

Also Published As

Publication number Publication date
US5916308A (en) 1999-06-29
CA2143488C (en) 2000-01-11
JPH08339296A (en) 1996-12-24

Similar Documents

Publication Publication Date Title
CA2143488A1 (en) Dynamic Link Libraries Without Linker or Loader Support
Hawblitzel et al. Implementing Multiple Protection Domains in Java.
Proebsting et al. Toba: Java for Applications-A Way Ahead of Time (WAT) Compiler.
Tatsubori et al. OpenJava: A class-based macro system for Java
US5535391A (en) System and methods for optimizing object-oriented compilations
Fernandez Simple and effective link-time optimization of Modula-3 programs
CA2245611C (en) Method and apparatus for efficient operations on primary type values without static overloading
CA2144874A1 (en) Incremental Build System
CA2191522A1 (en) System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs
EP0651327A3 (en) Recompilation of computer programs for enhanced optimization
US20020083416A1 (en) Automatic stub/adapter generator
AU2380700A (en) Generating compiled programs for interpretive runtime environments
JPH09288586A (en) Switching of dynamic library task
GB2307073A (en) System, method, and compiler pre-processor for conditionally compiling a software compilation unit
Lu Elf: From the programmer’s perspective
Boquist Code optimization techniques for lazy functional languages
EP0784264A3 (en) A computer-implemented process for determining a minimum code set for an executable application in a data processing system
CA2240584A1 (en) Compile-time data dependency verification
EP1785852A3 (en) Supporting method references in the java language
Collberg Flexible encapsulation.
Buschmann et al. A Runtime Type Information System for C++.
Graba et al. Functions and Header Files
Wiener et al. A practical example of multiple inheritance in c++
HIMER Fortran for the nineties(Abstract Only)
Franz Toward an Execution Model for Component Software

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed