CN101470619A - Application program dynamic loading method based on microkernel operating system - Google Patents
Application program dynamic loading method based on microkernel operating system Download PDFInfo
- Publication number
- CN101470619A CN101470619A CNA2008100037176A CN200810003717A CN101470619A CN 101470619 A CN101470619 A CN 101470619A CN A2008100037176 A CNA2008100037176 A CN A2008100037176A CN 200810003717 A CN200810003717 A CN 200810003717A CN 101470619 A CN101470619 A CN 101470619A
- Authority
- CN
- China
- Prior art keywords
- symbol
- application program
- operating system
- program
- loading method
- 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.)
- Pending
Links
Abstract
The invention discloses an application program dynamic loading method based on a micronucleus operating system, which comprises the following steps: analyzing the format of an object program, calculating and distributing the size of memory which is needed by a code segment and a data segment in a module, coping the code segment and the data segment to the memory, determining a symbol which needs to modify an address according to relocation information of an object file, finding out an original migration of the symbol which needs to modify from a symbol table and a string table, calculating a practical operation address of the symbol, and filling the practical operation address of the symbol to the object program. The application program dynamic loading method greatly reduces the demands of the system for the memory, and does not need the supporting of the operating system which is based on the virtual memory technology. Furthermore, each application program also just pays attention to the development and the testing itself, and the application program after upgrading can be put into service through being directly covered on an original file. Different application programs are coupled through an interface, thereby effectively increasing the development efficiency, and reducing the development complexity.
Description
Technical field
The present invention relates to a kind of application program dynamic loading method based on microkernel operating system.
Background technology
In recent years, along with continuous advancement in technology, increased increasing function on the mobile hand-held devices such as mobile phone, PDA, MP3, PMP.For the developer, function of every increase, just meaning increases some application programs.And all application programs all will be carried out by internal memory in the ambulatory handheld formula equipment.Therefore, how farthest rationally to utilize internal memory just to become software developer's key issue.
Present existing technical scheme is:
PC intelligent operating system aspect: the dynamic module scheme based on the PE form (as the dll dynamic link library, the exe executable file) that Microsoft is arranged on the Windows; What open standard was arranged on the Unix/Linux dynamically shares scheme (as the dynamic shared file of so, bin executable file) based on the ELF form.
Embedded intelligence operating system such as WinCE, ulinux have also realized the dynamic load technology of module.
General character of above dynamic loading method is all need be based on the operating system of supporting MMU (Memory ManagementUnit, memory management unit), and this is that common microkernel operating system (comprising nucleus) is not available.
Present microkernel operating system (nucleus/ucos/threadx comparatively general in mobile hand-held device ...) kernel itself can only all application programs of static loading.Static loading application programs can cause two serious consequences: the first, and application program is more and more, and the demand of internal memory is increasing, has also therefore caused the cost of end product more and more higher; The second, in case certain application need is changed, just need debug again and test total system, greatly prolonged the Products Development cycle.
Summary of the invention
For overcoming above-mentioned deficiency, the object of the present invention is to provide a kind of application program dynamic loading method based on microkernel operating system, by at microkernel operating system (nucleus/ucos/threadx ...) the middle dynamic loading method of introducing, application programs realizes dynamic load.
For finishing the foregoing invention purpose, the technical scheme that the present invention takes is:
A kind of application program dynamic loading method based on microkernel operating system, it mainly may further comprise the steps:
A. resolve the form of target program, calculate and distribute code segment and the needed memory size of data segment in this module;
B. copy code segment and data segment in this internal memory;
C. according to the relocation information of file destination, need to determine the symbol of modified address;
D. find the original offset that needs the symbol revised from symbol table and string table;
E. calculate the actual motion address of this symbol;
F. the actual motion address with symbol is filled into target program.
Wherein, step a can be divided into plurality of sections with target program in the resolving to target program: code segment, data segment etc.When copying internal memory to, the data in the section must be continuous on memory headroom; And can be discontinuous on memory headroom between section and the section.This processing mode can reduce the demand of application program to the continuous memory headroom of memory headroom especially bulk.In addition, when other application programs of system were called the subroutine that has loaded once more, if this subroutine belongs to global module, code segment and data segment all can be shared so.
For the dynamic load of the application program of multimode, above-mentioned steps d, step e and step f just carry out in the time of can being deferred to program run, need just not carry out in the loading procedure of program.
And the map space internal memory of resource that the unloading of application program distributes only need be released in this program loading procedure time the and module is just passable.
Application of the present invention has significantly reduced the demand of system to internal memory, need not based on the operating system support that the virtual memory technology is arranged.In addition, each application program also only needs to pay close attention to the development﹠ testing of self, and the application program after the upgrading directly covers original and can enable; And only be coupled by interface between different application programs, improved development efficiency effectively, reduced complexity of developing.
Description of drawings
Fig. 1 is the synoptic diagram of application program dynamic load process.
Embodiment
Below in conjunction with Fig. 1 implementation procedure of the present invention is done concrete elaboration.
The source code of supposing module is A.c:
int?gb_data1=9;
int?gb_bss1;
int?myfunc1()
{
gb_bss1=6;
return?gb_data1+gb_bss1;
}
int?vme_main()
{
return?myfunc1();
}
Use the GCC compiler that above-mentioned source code is compiled into ELF object module A.so.
Below be the loading procedure of target program:
A. resolve the form of target program, calculate and distribute code segment and the needed memory size of data segment in this module;
(1) at first resolve object module A.so file, analyze its joint table distributed intelligence:
Every ELF file destination that is compiled into Open Standard, no matter GCC or business-like ADS that compiler is increased income, always these file destinations can be as shown in table 1 substantially:
Table 1 destination file format table:
When resolving the ELF file destination, at first watch its ELF head content whether match-on criterion defines, know from program header that then the code of this object module leaves that deviation post and the total length of file destination in.Then read the joint table.The joint table of general objectives file can be pointed out to have what joints in this document content, and what content what each joint was deposited is, where this joint is offset to end from where being offset.By resolving this joint table data, the joint table information that can obtain object module A.so is as follows:
The joint table of table 2 object module A.so:
Sections:
Idx?Name Size File?off
0.hash 000000bc 00000094
1.dynsym 000001c0 00000150
2.dynstr 00000095 00000310
3.rel.got 00000010 000003a8
4.rel.plt 00000008 000003b8
5.plt 00000020 000003c0
6.text 0000004c 000003e0
7.data 00000004 0000052c
8.got 00000018 00000530
9.dynamic 00000068 00000548
10.bss 00000004 000005b0
11.stack 00000000 000005b0
...
14.sym 00000200 000008a0
15.str 0000009c 00000aa0
...
Illustrate:
Gauge outfit Size represents the data length of this joint in the table 2, and File off represents where the data content of certain joint begins skew in file destination,
.hash the various symbols of quoting in the representation module hash concordance list data section;
.dynsym, sym is the data section of various symbolic information in the representation module;
.dynstr, str is the data section of the name character string of various symbols in the representation module;
.rel.got .rel.plt is the data section of interior various symbols of module or data relocation information;
.plt .text is the code data joint of module;
.data .bss is the data section of module;
.got be a data section of the actual address of the various symbols quoted of storage module;
.dynamic be the data section of the more inner multidate informations of representation module.
Wherein the code segment that need use of the present invention comprises .plt for A.so .text, data .got4 joint table; Data segment comprises .bss1 joint table;
(2) can calculate by the information in the table 2:
Length=the 0x20+0x4c+0x4+0x18=0x88 of code segment
Length=the 0x4 of data segment
(3) dynamic allocation of codes section internal memory and data segment internal memory, length is respectively 0x88 and 0x4,
Suppose that the memory address that distributes is respectively code_addr and bss_addr.
B. copy code segment and data segment in this internal memory;
.plt .text .data, the content of .got joint copies the code segment internal memory to; The content of .bss joint is copied to the data segment internal memory.When copying internal memory to, the data in the section must be continuous on memory headroom; And can be discontinuous on memory headroom between section and the section, can reduce the demand of application program like this to the continuous memory headroom of memory headroom especially bulk.
In addition, when other application programs of system were called the subroutine that has loaded once more, if this subroutine belongs to global module, code segment and data segment all can be shared so.
C. according to the relocation information of file destination, need to determine the symbol of modified address;
For A.so and the locating information of overstating comprises .rel.got, .rel.plt 2 joints are shown, from table 2, can learn, the starting position of these two joint tables lays respectively at skew 0x3a8 and 0x3b8, copy the data signal of these deviation posts from file destination A.so, wherein the data of the rightmost side be the left side binary content compilation resolve readable text, content is as shown in table 3, the deposit data form of these 2 joint table contents all is the same, each relocation information comprises 8 bytes, the data that preceding 4 bytes refer to which corresponding in target program address need to revise, and which symbol is the content that back 4 bytes refer to this need modified address correspondence be.
As shown in table 3, one of them relocation information 3a8:00000544 and 3ac:00001115 comprise 8 bytes, preceding 4 byte 3a8:00000544, the data that refer to corresponding 00000544 this address in the target program need to revise, 4 bytes in back, such as 3ac:00001115, the symbol that refers to the content of this need modified address correspondence is 00001115.
Table 3 relocation information joint table:
000003a8<.rel.got>:
3a8:00000544
3ac:00001115
3b0:00000540
3b4:00001b15
000003b8<.rel.plt>:
3b8:0000053c
3bc:00001916
Below 2 joint table .rel.got in this table 3 and .rel.plt respectively being analyzed a relocation information is example.
Table 4.rel.got joint table:
000003a8<.rel.got>:
3a8:00000544
3ac:00001115
In the table 4, this relocation information represents that target program skew 0x544 place content need revise, this content, and promptly being offset in the file destination is the data at 0x544 place, should fill the actual motion address behind 0x11 the symbol resolution among the joint table .dynsym.
Illustrate: 3ac:00001115; Only use wherein preceding 6 bits 000011.
Table 5.rel.plt joint table:
000003b8<.rel.plt>:
3b8:0000053c
3bc:00001916
In the table 5, this relocation information represents that target program skew 0x53c place content need revise, this content, and promptly being offset in the file destination is the data at 0x53c place, should fill the actual motion address behind 0x19 the symbol resolution among the joint table .dynsym.
Illustrate: 3bc:00001916; Only use wherein preceding 6 bits 000019.
D. find the original offset that needs the symbol revised from symbol table and string table;
Symbol table and string table refer to .dynsym and .dynstr respectively, and the content of symbol table .dynsym is as shown in table 6:
Table 6.dynsym symbol table:
00000150<.dynsym>:
...
260:00000031
264:000005b0
268:00000004
26c:000b0011
...
2e0:00000029
2e4:000003e0
2e8:00000040
2ec:00070012
In the table 6, each symbolic information, such as 260:00000031 264:000005b0 268:0000000426c:000b0011, first 4 byte, 00000031 its community string index community of expression, second 4 byte 000005b0 represents its actual address skew, and preceding 2 byte 000b represent the joint table at this symbol place among the 4th 4 byte 000b0011.
Because the length of each symbolic information is 0x10 in this object module,
So the position=0x150+0x11*0x10=0x260 of 0x11 symbol, wherein, 0x150 represents that 0x11 symbol 0x150 place in file destination begins skew, and this value can obtain from the File off field value of the symbol table .dynsym correspondence of table 2.Corresponding tables 6 can be found, and the actual address skew of 0x11 symbol is 0x5b0.According to 000b, can see from table 2 from 0 and counting that 0x0b joint table is the .bss joint, so this symbol belongs to the .bss section.
Position=the 0x150+0x19*0x10=0x2e0 of 0x19 symbol, corresponding tables 6 can be found, and the actual address skew of this symbol is 0x3e0, according to 0007, can see from table 2 from 0 and counting that 0x06 joint table is the .text joint, so this symbol belongs to the .text section.
Table 7.dynstr string table:
00000310<.dynstr>:
Drawing 0x11 symbol corresponding characters string by table 7 is gb_bss1, and 0x19 symbol corresponding characters string is myfunc1.
E. calculate the actual motion address of this symbol;
According to the memory address that preceding step a is distributed, can parse the actual address of symbol,
Symbol gb_bss1 actual address=0x5b0+bss_addr
Symbol myfunc1 actual address=0x3e0+code_addr
F. the actual motion address with symbol is filled into target program;
According to step a, for
Skew 0x544 should fill at the place actual motion address of 0x11 symbol gb_bss1,
Skew 0x53c should fill at the place actual motion address of 0x19 symbol myfunc1,
In fact these skews are positioned at the .got joint, as shown in table 8;
Table 8.got joint table:
00000530<.got>:
530:00000548
...
53c:000003c0
...
Final modification is:
0x544+code_addr place, address content modification is 0x5b0+bss_addr
0x53c+code_addr place, address content modification is 0x3e0+code_addr
G. resolve the actual motion address of deriving symbol;
From the address of symbol table and string table derivation api function, their content is as shown in table 9:
Table 9.sym joint table:
000008a0<.sym>:
...
a10:00000045
a14:00000420
a18:0001000c
a1c:00070012
Wherein, first its community string index community of 4 byte representation in each symbolic information, its actual address skew of second 4 byte representation, the joint table at preceding 2 these symbol places of byte representation in the 4th byte.
Traversal symbol table and string table, inquiry derivative function vme_main symbol, as shown in table 10, that draw 0x17 symbol correspondence is vme_main, this symbol offset is 0x420, and according to 0007, can find this symbol from table 2 and belong to the .text section.
Table 10.str table:
00000aa0<.str>:
Table 11vme.main table:
00000420<vme_main>:
vme_main():
420:e52de004 str r14,[r13,-#4]!
424:e49de004 ldr r14,[r13],#4
428:eaffffe8 b 3d0<myfunc1-0x10>
Draw the actual derivation of the operation address=0x420+code_addr of this symbol at last by table 11.
H. move modularity function;
Owing to derived the actual motion address of interface function vme_main, can move modularity function.
The present invention is for the dynamic load of the application program of multimode, above-mentioned steps d, and step e and step f just carry out in the time of can being deferred to program run, need just not carry out in the loading procedure of program.
And the map space internal memory of resource that the unloading of application program distributes only need be released in this program loading procedure time the and module is just passable.
Claims (4)
1, a kind of application program dynamic loading method based on microkernel operating system is characterized in that it comprises following steps:
A. resolve the form of target program, calculate and distribute code segment and the needed memory size of data segment in this module;
B. copy code segment and data segment in this internal memory;
C. according to the relocation information of file destination, need to determine the symbol of modified address;
D. find the original offset that needs the symbol revised from symbol table and string table;
E. calculate the actual motion address of this symbol;
F. the actual motion address with symbol is filled into target program.
2, a kind of application program dynamic loading method according to claim 1 based on microkernel operating system, it is characterized in that, among the described step a, in resolving to target program, earlier target program is divided into plurality of sections, when copying internal memory to, the data in the section must be continuous on memory headroom, and discontinuous on memory headroom between section and the section.
3, a kind of application program dynamic loading method according to claim 2 based on microkernel operating system, it is characterized in that, when other application programs of system are called the subroutine that has loaded once more, if this subroutine belongs to global module, code segment and data segment all can be shared so.
4, a kind of application program dynamic loading method according to claim 1 based on microkernel operating system, it is characterized in that, dynamic load for the application program of multimode, described steps d, step e and step f just carry out when being deferred to program run, need just not carry out in the loading procedure of program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100037176A CN101470619A (en) | 2007-12-29 | 2008-01-15 | Application program dynamic loading method based on microkernel operating system |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710033030 | 2007-12-29 | ||
CN200710033030.2 | 2007-12-29 | ||
CNA2008100037176A CN101470619A (en) | 2007-12-29 | 2008-01-15 | Application program dynamic loading method based on microkernel operating system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101470619A true CN101470619A (en) | 2009-07-01 |
Family
ID=40828111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100037176A Pending CN101470619A (en) | 2007-12-29 | 2008-01-15 | Application program dynamic loading method based on microkernel operating system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101470619A (en) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794567A (en) * | 2010-02-10 | 2010-08-04 | 中兴通讯股份有限公司 | Method and terminal for loading pictures |
CN101984409A (en) * | 2010-11-10 | 2011-03-09 | 南京南瑞继保电气有限公司 | Method for injecting test codes for Linux system |
WO2011054223A1 (en) * | 2009-11-04 | 2011-05-12 | 中兴通讯股份有限公司 | Method and device for dynamically loading relocatable file |
CN102147743A (en) * | 2011-03-28 | 2011-08-10 | 博视联(苏州)信息科技有限公司 | Method for accelerating startup of embedded system application program |
CN102819439A (en) * | 2011-06-10 | 2012-12-12 | 中兴通讯股份有限公司 | Method and device of dynamically loading multi-system application programs based on relocation |
CN102831178A (en) * | 2012-07-30 | 2012-12-19 | 华为技术有限公司 | Method and device for redeploying multilevel storage |
CN101702130B (en) * | 2009-11-12 | 2012-12-26 | 深圳市五巨科技有限公司 | Method for loading sharing function library with movable terminal and device thereof |
CN104679561A (en) * | 2015-02-15 | 2015-06-03 | 福建天晴数码有限公司 | Dynamic link library file loading method and dynamic link library file loading system |
CN105426223A (en) * | 2015-12-25 | 2016-03-23 | 百度在线网络技术(北京)有限公司 | Application loading method and device |
CN106354536A (en) * | 2016-08-31 | 2017-01-25 | 北京奇虎科技有限公司 | Method and device of loading ELF file of Linux system in Windows system |
WO2017067175A1 (en) * | 2015-10-21 | 2017-04-27 | 百度在线网络技术(北京)有限公司 | Method, apparatus and device for loading elf file, and computer storage medium |
CN107729085A (en) * | 2017-10-19 | 2018-02-23 | 北京空间飞行器总体设计部 | A kind of On-board software dynamic loading method for supporting address to redirect |
CN111190623A (en) * | 2019-12-25 | 2020-05-22 | 北京中科晶上超媒体信息技术有限公司 | Remote updating method of embedded operating system |
CN111240765A (en) * | 2020-01-15 | 2020-06-05 | 深圳英飞拓智能技术有限公司 | LINUX compression application program loading method |
CN111488282A (en) * | 2020-04-13 | 2020-08-04 | 龙芯中科技术有限公司 | Business function processing method and device, electronic equipment and storage medium |
CN111597109A (en) * | 2020-04-24 | 2020-08-28 | 清华大学 | Defect detection method and system for cross-architecture firmware stack memory |
CN111913762A (en) * | 2020-08-20 | 2020-11-10 | 北京机电工程研究所 | DSP dynamic loading method for reserving operation memory space |
CN111931191A (en) * | 2020-09-09 | 2020-11-13 | 中国人民解放军国防科技大学 | Dynamic detection method and system for binary software stack overflow leakage hole of Linux platform |
CN111984411A (en) * | 2020-08-18 | 2020-11-24 | 上海睿赛德电子科技有限公司 | Application relocation method for resource-constrained platform |
US10908925B2 (en) | 2017-11-20 | 2021-02-02 | Huawei Technologies Co., Ltd. | Dynamic loading method, and target file creation method and apparatus |
WO2021057300A1 (en) * | 2019-09-24 | 2021-04-01 | 中兴通讯股份有限公司 | Method and apparatus for starting dynamically linked program, and computer readable storage medium |
CN113111012A (en) * | 2021-04-14 | 2021-07-13 | 景德镇市明泰精工瓷业有限公司 | Application data locator generation method and application data locating method |
WO2022237610A1 (en) * | 2021-05-10 | 2022-11-17 | 阿里巴巴(中国)有限公司 | Program compiling method and program loading method |
CN117472456A (en) * | 2023-12-27 | 2024-01-30 | 南京翼辉信息技术有限公司 | Dynamic loading implementation method based on Shenwei processor embedded operating system |
-
2008
- 2008-01-15 CN CNA2008100037176A patent/CN101470619A/en active Pending
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011054223A1 (en) * | 2009-11-04 | 2011-05-12 | 中兴通讯股份有限公司 | Method and device for dynamically loading relocatable file |
US8566372B2 (en) | 2009-11-04 | 2013-10-22 | Zte Corporation | Method and device for dynamically loading relocatable file |
CN101702130B (en) * | 2009-11-12 | 2012-12-26 | 深圳市五巨科技有限公司 | Method for loading sharing function library with movable terminal and device thereof |
CN101794567A (en) * | 2010-02-10 | 2010-08-04 | 中兴通讯股份有限公司 | Method and terminal for loading pictures |
CN101794567B (en) * | 2010-02-10 | 2014-01-01 | 中兴通讯股份有限公司 | Method and terminal for loading pictures |
WO2011097874A1 (en) * | 2010-02-10 | 2011-08-18 | 中兴通讯股份有限公司 | Picture loading method and terminal |
CN101984409B (en) * | 2010-11-10 | 2013-03-13 | 南京南瑞继保电气有限公司 | Method for injecting test codes for Linux system |
CN101984409A (en) * | 2010-11-10 | 2011-03-09 | 南京南瑞继保电气有限公司 | Method for injecting test codes for Linux system |
CN102147743A (en) * | 2011-03-28 | 2011-08-10 | 博视联(苏州)信息科技有限公司 | Method for accelerating startup of embedded system application program |
CN102819439A (en) * | 2011-06-10 | 2012-12-12 | 中兴通讯股份有限公司 | Method and device of dynamically loading multi-system application programs based on relocation |
CN102831178A (en) * | 2012-07-30 | 2012-12-19 | 华为技术有限公司 | Method and device for redeploying multilevel storage |
WO2014019367A1 (en) * | 2012-07-30 | 2014-02-06 | 华为技术有限公司 | Method and device for redeploying multilevel storage |
CN104679561B (en) * | 2015-02-15 | 2018-07-06 | 福建天晴数码有限公司 | A kind of method and system of dynamic link library file loading |
CN104679561A (en) * | 2015-02-15 | 2015-06-03 | 福建天晴数码有限公司 | Dynamic link library file loading method and dynamic link library file loading system |
WO2017067175A1 (en) * | 2015-10-21 | 2017-04-27 | 百度在线网络技术(北京)有限公司 | Method, apparatus and device for loading elf file, and computer storage medium |
CN105426223A (en) * | 2015-12-25 | 2016-03-23 | 百度在线网络技术(北京)有限公司 | Application loading method and device |
US11086638B2 (en) | 2015-12-25 | 2021-08-10 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for loading application |
WO2017107415A1 (en) * | 2015-12-25 | 2017-06-29 | 百度在线网络技术(北京)有限公司 | Application loading method and device |
CN105426223B (en) * | 2015-12-25 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | Using loading method and device |
WO2018040270A1 (en) * | 2016-08-31 | 2018-03-08 | 北京奇虎科技有限公司 | Method and device for loading linux-system elf file in windows system |
CN106354536A (en) * | 2016-08-31 | 2017-01-25 | 北京奇虎科技有限公司 | Method and device of loading ELF file of Linux system in Windows system |
CN107729085A (en) * | 2017-10-19 | 2018-02-23 | 北京空间飞行器总体设计部 | A kind of On-board software dynamic loading method for supporting address to redirect |
US10908925B2 (en) | 2017-11-20 | 2021-02-02 | Huawei Technologies Co., Ltd. | Dynamic loading method, and target file creation method and apparatus |
WO2021057300A1 (en) * | 2019-09-24 | 2021-04-01 | 中兴通讯股份有限公司 | Method and apparatus for starting dynamically linked program, and computer readable storage medium |
CN111190623A (en) * | 2019-12-25 | 2020-05-22 | 北京中科晶上超媒体信息技术有限公司 | Remote updating method of embedded operating system |
CN111240765A (en) * | 2020-01-15 | 2020-06-05 | 深圳英飞拓智能技术有限公司 | LINUX compression application program loading method |
CN111488282A (en) * | 2020-04-13 | 2020-08-04 | 龙芯中科技术有限公司 | Business function processing method and device, electronic equipment and storage medium |
CN111488282B (en) * | 2020-04-13 | 2023-11-07 | 龙芯中科技术股份有限公司 | Service function processing method and device, electronic equipment and storage medium |
CN111597109A (en) * | 2020-04-24 | 2020-08-28 | 清华大学 | Defect detection method and system for cross-architecture firmware stack memory |
CN111597109B (en) * | 2020-04-24 | 2022-03-11 | 清华大学 | Defect detection method and system for cross-architecture firmware stack memory |
CN111984411A (en) * | 2020-08-18 | 2020-11-24 | 上海睿赛德电子科技有限公司 | Application relocation method for resource-constrained platform |
CN111913762A (en) * | 2020-08-20 | 2020-11-10 | 北京机电工程研究所 | DSP dynamic loading method for reserving operation memory space |
CN111913762B (en) * | 2020-08-20 | 2024-04-19 | 北京机电工程研究所 | DSP dynamic loading method for reserving running memory space |
CN111931191A (en) * | 2020-09-09 | 2020-11-13 | 中国人民解放军国防科技大学 | Dynamic detection method and system for binary software stack overflow leakage hole of Linux platform |
CN113111012A (en) * | 2021-04-14 | 2021-07-13 | 景德镇市明泰精工瓷业有限公司 | Application data locator generation method and application data locating method |
CN113111012B (en) * | 2021-04-14 | 2023-07-25 | 景德镇市明泰精工瓷业有限公司 | Application data locator generation method and application data locating method |
WO2022237610A1 (en) * | 2021-05-10 | 2022-11-17 | 阿里巴巴(中国)有限公司 | Program compiling method and program loading method |
CN117472456A (en) * | 2023-12-27 | 2024-01-30 | 南京翼辉信息技术有限公司 | Dynamic loading implementation method based on Shenwei processor embedded operating system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101470619A (en) | Application program dynamic loading method based on microkernel operating system | |
CN101697131B (en) | Method and device for dynamically loading relocatable file | |
US8615745B2 (en) | Compiling code for an enhanced application binary interface (ABI) with decode time instruction optimization | |
JP5951022B2 (en) | Code linking for enhanced application binary interface (ABI) using decode time instruction optimization | |
US10114745B2 (en) | Assisted garbage collection in a virtual machine | |
US6757890B1 (en) | Methods and apparatus for enabling local Java object allocation and collection | |
CN102081535B (en) | Android-based application program upgrading method and system and application development platform | |
EP3267308B1 (en) | Application loading method and device | |
CA2753626C (en) | Packed data objects | |
US9104449B2 (en) | Optimized execution of dynamic languages | |
CN106796522A (en) | System and method for updating source code file | |
CN105183592B (en) | Method and apparatus for supporting performance evaluation | |
US20040003377A1 (en) | Converting byte code instructions to a new instruction set | |
CN103631573A (en) | Method and system for obtaining execution time of transferable functions | |
Edler von Koch et al. | Exploiting function similarity for code size reduction | |
CN103019787A (en) | Function call relation determining method, hotfix updating method and hotfix updating device | |
CN107832057A (en) | A kind of construction method and terminal of iOS applications | |
CN114327437A (en) | Plug-in operation system, plug-in operation method and electronic equipment | |
Narayanan | Issues in the design of a Java processor architecture | |
CN110737588A (en) | automatic point burying method, device, medium and electronic equipment | |
CN106033364A (en) | Method and system for upgrading Web application programs | |
EP3738028A1 (en) | Reduced instructions to generate global variable addresses | |
CN104217021A (en) | Reading server, terminal equipment and method for displaying reading contents | |
Cauderlier et al. | A verified implementation of the bounded list container | |
CN102521255A (en) | Method for rapidly analyzing executable file path from shortcut |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090701 |