CN110865815A - Many-platform compiling and publishing system and method for shader language - Google Patents

Many-platform compiling and publishing system and method for shader language Download PDF

Info

Publication number
CN110865815A
CN110865815A CN201911103266.8A CN201911103266A CN110865815A CN 110865815 A CN110865815 A CN 110865815A CN 201911103266 A CN201911103266 A CN 201911103266A CN 110865815 A CN110865815 A CN 110865815A
Authority
CN
China
Prior art keywords
compiling
glsl
code
shader
platform
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
Application number
CN201911103266.8A
Other languages
Chinese (zh)
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.)
Guangzhou Swimming Information Technology Co Ltd
Original Assignee
Guangzhou Swimming Information Technology Co 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 Guangzhou Swimming Information Technology Co Ltd filed Critical Guangzhou Swimming Information Technology Co Ltd
Priority to CN201911103266.8A priority Critical patent/CN110865815A/en
Publication of CN110865815A publication Critical patent/CN110865815A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

The invention discloses a system and a method for compiling and publishing a plurality of platforms of a shader language, and provides a scheme for automatically converting an hlsl language into other shader languages, wherein the scheme comprises the step of converting the hlsl language into glsl, metal-shader and spir-V, so that the code compiling amount in graphic development is effectively reduced, and a graphic effect algorithm can generate a corresponding executable shader script which can run on other platforms only by compiling the hlsl once. According to the method and the device, compiling error detection can be carried out on the loader codes while the loader codes are converted, syntax errors are fed back to developers in time, and finally converted loader codes are correct and executable by compiling error detection while conversion is carried out.

Description

Many-platform compiling and publishing system and method for shader language
Technical Field
The invention relates to the technical field of computer languages, in particular to a system and a method for compiling and publishing a plurality of platforms of a shader language.
Background
With the development and maturity of the mobile game market, the hand game is also getting larger and more severe, which results in the development of the hand game. Especially, the requirements on the writing amount and the iteration speed of the shader code are higher and higher because the hand-game effect is more and more complex.
The main challenge in the development of the shaders of mobile games is that different operating systems (IOS, Android, WinPhone) use different graphics protocols (DirectX, Opengl, Metal, Vulkan), and different graphics protocols use different shaders languages (hlsl, glsl, Metal-shader, spir-v).
Most of the domestic previous-generation game engines use a handwriting multi-set loader mode to solve the problems. The problems in practical operation are: the workload is doubled as the types of the shaders to be compatible are increased, and the manual synchronization may have errors or inaccuracy to cause inconsistent effects on different platforms. The above problems cause a reduction in the efficiency of game effect development; meanwhile, because effect developers need to be familiar with the characteristics of different shader languages, the development threshold is also improved.
Disclosure of Invention
The invention aims to provide a system and a method for compiling and publishing multiple platforms of a shader language, so as to solve the problems.
In order to achieve the above-mentioned objects,
in one aspect, the present invention provides a shader language multi-platform compiling and publishing system, including:
the Shader code preprocessing module is used for analyzing the macros in the Shader codes, traversing different Shader varieties of macro combinations and distributing all the varieties to the compiling and converting module;
the Hlsl compiling module is used for compiling the Hlsl source code into byte codes which can run on a DirectX platform by using a D3DCompiler tool of the DirectX SDK;
the Hlsl-to-Glsl conversion module is used for converting the Hlsl source code into a Glsl code which can run on an Opengl platform by using Hlsl2 Glsl;
the method comprises the steps that Glsl compiling is optimized and converted into a Metal-Shader module, Glsl codes are optimized based on a Glsl optimizer to optimize operation efficiency on an Opengl platform, and meanwhile Metal-Shader codes which can run on the Metal platform are output;
the Glsl-to-Spir-V conversion module is used for transmitting the optimized Glsl code to Glslang to be compiled into a Spir-V code capable of running on the Vulkan platform;
and the final result integration output module is used for serializing the output result of the shader codes of each platform into a Json file respectively.
Further, after the Hlsl source code written by the Hlsl compiling module is saved, the program generates executable loader codes of each platform for the Hlsl source file through the command line type processing unit, and saves the executable loader codes, and meanwhile, the program outputs syntax errors found in the compiling and converting process to the console.
On the other hand, the invention also provides a method for compiling and publishing the plurality of platforms of the shader language, which comprises the following steps:
s101, after completing hlsl source code compiling, a user calls a conversion program and transmits a source code path to the program;
s102, a Shader code preprocessing module reads a character string of a source code according to a path, then macros in the code are analyzed, Shader varieties of different macro combinations are traversed, and all varieties are distributed to a subsequent compiling module;
s103, after receiving the information transmitted by the S102, the Hlsl compiling module compiles the Hlsl source code into byte codes which can run on a DirectX platform by using a D3DCompiler tool;
s104, detecting whether a compiling error exists in S103, and if so, outputting error information to S105; if not, the compilation result is passed to S106;
s105, receiving error information, outputting the error information to a console, and stopping a conversion process;
s106, caching the compiling result of the Hlsl;
s107, after the Hlsl-to-Glsl conversion module receives the information transmitted by the S102, the Hlsl source code is converted into a Glsl code by using Hlsl2 Glsl;
s108, a Glsl compiling optimization module is converted into a Metal-Shader module, and the Glsl code output by the S107 is processed by a Glsl optimizer;
s109, detecting whether a compiling error exists in S108, and if so, outputting error information to S105; if not, passing the compilation result to S110 and S111;
s110, caching the compiling result of the Metal-Shader;
s111, caching a compiling result of the Glsl;
s112, reading the Glsl code cached in the S111 by a Glsl-to-Spir-V conversion module, and compiling the Glsl code into a Spir-V code by using Glslang;
s113, detecting whether a compiling error exists in S108, and if so, outputting error information to S105; if not, the compilation result is passed to S114;
s114, caching the compiling result of the spiral-v;
s115, the final result integration output module reads the output result in S106S110S111S114, and the compiling results of different varieties under each platform are stored in the Json file.
Further, when an editing error is detected in step S109, the code is formatted, converted according to hexadecimal number, optimized and converted to Metal-Shader module, and compared with a preset code, the Glsl code output by the Glsl optimizer processing S107 is used to find a difference point, and the difference point is marked and positioned.
Further, in step S105, the error information is received, and each point is corrected first, and the correction is performed according to the following formula (1);
im=ρ×i0(1)。
wherein imRepresenting the corrected sample point value, p representing the correction factor, i0Representing a sample point value;
further, the correction coefficient ρ is calculated by the following formula (2);
Figure BDA0002270480890000041
where ρ represents a correction coefficient, i01And i02When the error information points appear, two detected instantaneous code points are converted into calculable numbers through hexadecimal, N represents the sampling times of the error information points, two error information points are obtained by sampling each time, k represents a sampling sequence, and each sampling is recorded through a k value.
Further, in step S105, the error information is received, determined, and after trying to correct the error information, if the original data information can be recovered, step S106 is continuously executed, otherwise, the error information is output to the console, and the conversion process is stopped.
Compared with the prior art, the loader language multi-platform compiling and publishing system provided by the invention has the following advantages: the invention provides a scheme for automatically converting hlsl language to other shader languages, which comprises the step of converting hlsl language to glsl, metal-shader and spir-V, and effectively reduces the code writing amount in graphic development. The method realizes that the graphic effect algorithm can generate the corresponding executable shader script which can run on other platforms only by writing the hlsl once.
The invention can compile and detect errors of the shader codes while converting the shader codes, and feed syntax errors back to developers in time. By compiling and detecting errors while converting, it can be ensured that the finally converted shader code is correct and executable.
The automatic conversion process set forth by the invention is integrated in the game engine, so that the workload of effect development is greatly saved, and the occurrence of human errors is reduced.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
Fig. 1 is a flowchart of the compiler language multi-platform compiling and publishing in the embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1, which is a schematic diagram of a multi-platform compiling and publishing process of a shader language provided by an embodiment of the present invention, an embodiment of the present invention provides a scheme for automatically converting an hlsl language to another shader language, including converting the hlsl language to glsl, metal-shader, and spir-V, which effectively reduces a code writing amount in graphic development. The system of the embodiment comprises:
and the Shader code preprocessing module is used for analyzing the macros in the Shader codes, traversing different Shader varieties of macro combinations and distributing all the varieties to the compiling and converting module.
And the Hlsl compiling module is used for compiling the Hlsl source code into byte codes which can run on the DirectX platform by using a D3DCompiler tool of the DirectX SDK.
And the Hlsl-to-Glsl conversion module converts the Hlsl source code into Glsl code which can run on an Opengl platform by using Hlsl2 Glsl.
The Glsl compilation optimizes and translates to a Metal-Shader module that optimizes Glsl code to optimize operating efficiency on the Opengl platform based on the Glsl optimizer, while outputting Metal-Shader code that can run on the Metal platform.
And the Glsl-to-Spir-V conversion module transfers the optimized Glsl code into Glslang to compile the Glslang code into a Spir-V code which can run on the Vulkan platform.
And the final result integration output module is used for serializing the output result of the shader codes of each platform into a Json file respectively.
Specifically, the method further comprises the following steps: after the Hlsl source code written by the user is stored, the program generates executable loader codes of each platform for the Hlsl source code through the command line type processing unit, and stores the executable loader codes, and meanwhile, the program outputs syntax errors found in the process of compiling conversion to the console.
Specifically, after the program is started, the Hlsl source code file is read according to the file path to obtain the character string of the source code. And then, the character string is transmitted to a Shader code preprocessing module to find out macros in the source code, and the source code variants are traversed according to different macro combinations. After preprocessing, the source code character string and macro information of different varieties can be sent to the subsequent compiling and converting process.
Specifically, the compiling and converting process comprises the steps of generating a result of a DirectX platform by using an Hlsl compiling module, generating a Glsl code by using an Hlsl-to-Glsl converting module, optimizing and converting the Glsl code into a Metal-Shader module by using Glsl compiling, converting the Glsl code generated in the previous step into the optimized Glsl code and the Metal-Shader code, respectively serving as the result of an Opengl platform and the result of a Metal platform, and converting the optimized Glsl code into the result of a Vulkan platform by using a Glsl-to-Spir-V converting module.
Specifically, after the conversion process is compiled, the output results of all corresponding platforms are transmitted to a final result integration output module, and are output to the Json file according to platform classification.
In an embodiment of the present invention, the conversion tool may be application software running on an intelligent terminal, such as a game editor, a mobile phone network game, and the like. The intelligent terminal may be a smart phone, a tablet computer, or the like, or may be a desktop computer, a notebook computer, or the like, and the present invention is not particularly limited.
Referring to fig. 1, the flowchart of Shader code conversion provided by this embodiment includes:
s101, after completing hlsl source code compiling, a user calls a conversion program and transmits a source code path to the program;
s102, a Shader code preprocessing module reads a character string of a source code according to a path, then macros in the code are analyzed, Shader varieties of different macro combinations are traversed, and all varieties are distributed to a subsequent compiling module;
s103, after receiving the information transmitted by the S102, the Hlsl compiling module compiles the Hlsl source code into byte codes which can run on a DirectX platform by using a D3DCompiler tool;
s104, detecting whether a compiling error exists in S103, and if so, outputting error information to S105; if not, the compilation result is passed to S106;
s105, receiving error information, outputting the error information to a console, and stopping a conversion process;
s106, caching the compiling result of the Hlsl;
s107, after the Hlsl-to-Glsl conversion module receives the information transmitted by the S102, the Hlsl source code is converted into a Glsl code by using Hlsl2 Glsl;
s108, a Glsl compiling optimization module is converted into a Metal-Shader module, and the Glsl code output by the S107 is processed by a Glsl optimizer;
s109, detecting whether a compiling error exists in S108, and if so, outputting error information to S105; if not, passing the compilation result to S110 and S111;
s110, caching the compiling result of the Metal-Shader;
s111, caching a compiling result of the Glsl;
s112, reading the Glsl code cached in the S111 by a Glsl-to-Spir-V conversion module, and compiling the Glsl code into a Spir-V code by using Glslang;
s113, detecting whether a compiling error exists in S108, and if so, outputting error information to S105; if not, the compilation result is passed to S114;
s114, caching the compiling result of the spiral-v;
s115, the final result integration output module reads the output result in S106S110S111S114, and the compiling results of different varieties under each platform are stored in the Json file.
In the step S109, when an editing error is detected, the code is formatted and converted according to a hexadecimal number, the Glsl is compiled, optimized and converted into a Metal-Shader module, and the Glsl code output by the Glsl optimizer processing S107 is compared with a preset code. Find its difference points and mark the location.
Step S105, receiving error information, outputting the error information to a console, and stopping a conversion process; in the process, each point is corrected firstly according to the following formula (1);
im=ρ×i0(1)
wherein imRepresenting the corrected sample point value, p representing the correction factor, i0Representing the current value of the sampling point; the correction coefficient ρ is calculated by the following formula (2);
Figure BDA0002270480890000081
where ρ represents a correction coefficient, i01And i02Two instantaneous code points detected when error information points appear are converted into a code point capable of being detected through hexadecimalAnd calculating a number, wherein N represents the sampling times of the error information points, two error information points are obtained in each sampling, k represents a sampling sequence, and each sampling is recorded by a k value.
And step S105, receiving the error information, determining the error information, after trying to correct, if the original data information can be recovered, continuing to execute step S106, otherwise, outputting to the console, and stopping the conversion process.
The principles and embodiments of the present invention have been described herein using specific examples, which are provided only to help understand the method and the core concept of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, the specific embodiments and the application range may be changed. In view of the above, the present disclosure should not be construed as limiting the invention.

Claims (8)

1. A shader language multi-platform compiling and publishing system is characterized by comprising:
the Shader code preprocessing module is used for analyzing the macros in the Shader codes, traversing different Shader varieties of macro combinations and distributing all the varieties to the compiling and converting module;
the Hlsl compiling module is used for compiling the Hlsl source code into byte codes which can run on a DirectX platform by using a D3DCompiler tool of the DirectX SDK;
the Hlsl-to-Glsl conversion module is used for converting the Hlsl source code into a Glsl code which can run on an Opengl platform by using Hlsl2 Glsl;
the method comprises the steps that Glsl compiling is optimized and converted into a Metal-Shader module, Glsl codes are optimized based on a Glsl optimizer to optimize operation efficiency on an Opengl platform, and meanwhile Metal-Shader codes which can run on the Metal platform are output;
the Glsl-to-Spir-V conversion module is used for transmitting the optimized Glsl code to Glslang to be compiled into a Spir-V code capable of running on the Vulkan platform;
and the final result integration output module is used for serializing the output result of the shader codes of each platform into a Json file respectively.
2. The shader language multi-platform compilation and distribution system according to claim 1, wherein after the command-line type processing unit stores the Hlsl source code written by the Hlsl compilation module, the program generates executable shader codes of each platform for the Hlsl source file through the command-line type processing unit, and stores the executable shader codes, and the program outputs syntax errors found during the compilation conversion process to the console.
3. A method for compiling and publishing a plurality of platforms in a shader language is characterized by comprising the following steps:
s101, after completing hlsl source code compiling, a user calls a conversion program and transmits a source code path to the program;
s102, a Shader code preprocessing module reads a character string of a source code according to a path, then macros in the code are analyzed, Shader varieties of different macro combinations are traversed, and all varieties are distributed to a subsequent compiling module;
s103, after receiving the information transmitted by the S102, the Hlsl compiling module compiles the Hlsl source code into byte codes which can run on a DirectX platform by using a D3DCompiler tool;
s104, detecting whether a compiling error exists in S103, and if so, outputting error information to S105; if not, the compilation result is passed to S106;
s105, receiving error information, outputting the error information to a console, and stopping a conversion process;
s106, caching the compiling result of the Hlsl;
s107, after the Hlsl-to-Glsl conversion module receives the information transmitted by the S102, the Hlsl source code is converted into a Glsl code by using Hlsl2 Glsl;
s108, a Glsl compiling optimization module is converted into a Metal-Shader module, and the Glsl code output by the S107 is processed by a Glsl optimizer;
s109, detecting whether a compiling error exists in S108, and if so, outputting error information to S105; if not, passing the compilation result to S110 and S111;
s110, caching the compiling result of the Metal-Shader;
s111, caching a compiling result of the Glsl;
s112, reading the Glsl code cached in the S111 by a Glsl-to-Spir-V conversion module, and compiling the Glsl code into a Spir-V code by using Glslang;
s113, detecting whether a compiling error exists in S108, and if so, outputting error information to S105; if not, the compilation result is passed to S114;
s114, caching the compiling result of the spiral-v;
s115, the final result integration output module reads the output result in S106S110S111S114, and the compiling results of different varieties under each platform are stored in the Json file.
4. The method for multi-platform compilation publishing in a loader language according to claim 3, comprising: the conversion tool is any one of application software, a game editor and a mobile phone network game which are operated on the intelligent terminal;
the intelligent terminal is any one of an intelligent mobile phone, a tablet computer, a desktop computer and a notebook computer.
5. The method for multi-platform compilation publishing in a loader language according to claim 3, comprising: when the editing error is detected in the step S109, the code is formatted, the code is converted according to hexadecimal number, the Glsl compiling is optimized and converted to a Metal-Shader module, the Glsl code output by the Glsl optimizer processing S107 is compared with a preset code, a difference point is searched, and the mark and the location are carried out.
6. The method for multi-platform compilation publishing in a loader language according to claim 5, comprising: in step S105, receiving error information, correcting each point first according to the following formula (1);
im=ρ×i0(1)。
wherein imRepresenting the corrected sample point value, p representing the correction factor, i0Representing the sample point values.
7. The method for the multi-platform compilation publishing of the loader language according to claim 6, comprising:
the correction coefficient ρ is calculated by the following formula (2);
Figure FDA0002270480880000031
where ρ represents a correction coefficient, i01And i02When the error information points appear, two detected instantaneous code points are converted into calculable numbers through hexadecimal, N represents the sampling times of the error information points, two error information points are obtained by sampling each time, k represents a sampling sequence, and each sampling is recorded through a k value.
8. The method for the multi-platform compilation publishing of the loader language according to claim 7, comprising: in step S105, the error information is received, determined, and after trying to correct the error information, if the original data information can be recovered, step S106 is continuously executed, otherwise, the error information is output to the console, and the conversion process is stopped.
CN201911103266.8A 2019-11-12 2019-11-12 Many-platform compiling and publishing system and method for shader language Pending CN110865815A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911103266.8A CN110865815A (en) 2019-11-12 2019-11-12 Many-platform compiling and publishing system and method for shader language

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911103266.8A CN110865815A (en) 2019-11-12 2019-11-12 Many-platform compiling and publishing system and method for shader language

Publications (1)

Publication Number Publication Date
CN110865815A true CN110865815A (en) 2020-03-06

Family

ID=69654788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911103266.8A Pending CN110865815A (en) 2019-11-12 2019-11-12 Many-platform compiling and publishing system and method for shader language

Country Status (1)

Country Link
CN (1) CN110865815A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580802A (en) * 2020-04-30 2020-08-25 完美世界(北京)软件科技发展有限公司 Continuous integration method, continuous integration method and system based on distributed compilation
CN114077433A (en) * 2021-11-18 2022-02-22 大连东软信息学院 Cross-platform modular shader language general integration method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102637136A (en) * 2010-12-17 2012-08-15 微软公司 Fusing debug information from different compiler stages
KR20160010661A (en) * 2014-07-16 2016-01-28 (주)아슬란 Automatic interpretation of material shader generator
CN108139897A (en) * 2015-09-30 2018-06-08 苹果公司 Do not pre-process it is macro in the case of use Ubershader variants system and method
CN108874396A (en) * 2018-05-31 2018-11-23 苏州蜗牛数字科技股份有限公司 The cross-compiler and Compilation Method of multi-platform multiple target language based on HLSL
US20180349108A1 (en) * 2017-06-05 2018-12-06 Umajin Inc. Application system for generating 3d applications
CN110287106A (en) * 2019-05-24 2019-09-27 北京达佳互联信息技术有限公司 Adjustment method, device, electronic equipment and the storage medium of shader code

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102637136A (en) * 2010-12-17 2012-08-15 微软公司 Fusing debug information from different compiler stages
KR20160010661A (en) * 2014-07-16 2016-01-28 (주)아슬란 Automatic interpretation of material shader generator
CN108139897A (en) * 2015-09-30 2018-06-08 苹果公司 Do not pre-process it is macro in the case of use Ubershader variants system and method
US20180349108A1 (en) * 2017-06-05 2018-12-06 Umajin Inc. Application system for generating 3d applications
CN108874396A (en) * 2018-05-31 2018-11-23 苏州蜗牛数字科技股份有限公司 The cross-compiler and Compilation Method of multi-platform multiple target language based on HLSL
CN110287106A (en) * 2019-05-24 2019-09-27 北京达佳互联信息技术有限公司 Adjustment method, device, electronic equipment and the storage medium of shader code

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ARAS PRANCKEVIČIUS: ""Shader Compilation for Multiple Platforms"", 《HTTPS://BLOGS.UNITY3D.COM/2010/10/20/SHADER-COMPILATION-FOR-MULTIPLE-PLATFORMS/》 *
小明: ""Shader变体收集与打包"", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/68888831》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580802A (en) * 2020-04-30 2020-08-25 完美世界(北京)软件科技发展有限公司 Continuous integration method, continuous integration method and system based on distributed compilation
CN111580802B (en) * 2020-04-30 2024-03-22 完美世界(北京)软件科技发展有限公司 Continuous integration method, continuous integration method and system based on distributed compiling
CN114077433A (en) * 2021-11-18 2022-02-22 大连东软信息学院 Cross-platform modular shader language general integration method
CN114077433B (en) * 2021-11-18 2024-05-03 大连东软信息学院 Cross-platform modularized shader language universal integration method

Similar Documents

Publication Publication Date Title
US8819649B2 (en) Profile guided just-in-time (JIT) compiler and byte code generation
US8645932B2 (en) Control flow analysis methods and computing devices for converting COBOL-sourced programs to object-oriented program structures
US7784039B2 (en) Compiler, compilation method, and compilation program
CN100405294C (en) System, method and program product to optimize code during run time
US20130205282A1 (en) Transferring program execution from compiled code to interpreted code
CN110399133B (en) JavaScript code optimization method based on front-end byte code technology
CN106528399A (en) Test case determination method and apparatus
US9753705B2 (en) Conditional compilation of bytecode
CN110865815A (en) Many-platform compiling and publishing system and method for shader language
US20130152061A1 (en) Full fidelity parse tree for programming language processing
CN110780879B (en) Decision execution method, device, equipment and medium based on intelligent compiling technology
US20040015918A1 (en) Program optimization method and compiler using the program optimization method
US6678884B1 (en) Method for determining the status of variables during the execution of optimized code
CN113934431A (en) Quantum program compiling method and device and electronic equipment
CN116107625A (en) Flow design method, apparatus, device, storage medium, and program product
CN111694726A (en) Python program type derivation method based on type labeling
CN115167868A (en) Code compiling method, device, equipment and computer storage medium
CN110502439B (en) Debugging method, device, electronic equipment and storage medium
CN114895914A (en) Log output code generation method and device, electronic equipment and storage medium
CN110018816B (en) Virtual machine control system based on C/C + + compiling system and control method thereof
CN113282495A (en) Java software fault positioning method based on track monitoring
CN114077433B (en) Cross-platform modularized shader language universal integration method
CN112651214A (en) Method for converting data table plaintext into binary ciphertext convenient for program to read
US10088834B2 (en) Control system having function for optimizing control software of numerical controller in accordance with machining program
CN111857678B (en) Code generation method, device, electronic equipment and computer storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200306