比特派下载网址|assembly

作者: 比特派下载网址
2024-03-09 19:55:20

ASSEMBLY中文(简体)翻译:剑桥词典

ASSEMBLY中文(简体)翻译:剑桥词典

词典

翻译

语法

同义词词典

+Plus

剑桥词典+Plus

Shop

剑桥词典+Plus

我的主页

+Plus 帮助

退出

剑桥词典+Plus

我的主页

+Plus 帮助

退出

登录

/

注册

中文 (简体)

查找

查找

英语-中文(简体)

assembly 在英语-中文(简体)词典中的翻译

assemblynoun uk

Your browser doesn't support HTML5 audio

/əˈsem.bli/ us

Your browser doesn't support HTML5 audio

/əˈsem.bli/

assembly noun

(MEETING)

Add to word list

Add to word list

C2 [ C ] a group of people, especially one that meets regularly for a particular purpose, such as government, or, more generally, the process of coming together, or the state of being together

(尤指为特定目的而经常)聚集在一起的人,(所有)与会者;集合,聚集

the United Nations General Assembly

联合国大会

She has been tipped as a future member of the Welsh Assembly.

大家预测她将会成为威尔士议会议员。

 Assembly US

one of the two parts of the government that makes laws in many US States

(美国某些州的)州众议院

the New York Assembly

纽约州众议院

The Senate and the Assembly put aside political differences to pass the aid package.

州参众两院搁置了政治分歧,以通过有关援助的一揽子计划。

也请参见

legislative assembly

[ C or U ] a meeting in a school of several classes, usually at the beginning of the school day, to give information or to say prayers together

(多个班级参加的)集体活动,集会

All pupils are expected to attend school assembly.

所有学生都要参加校会。

There's a religious assembly every morning.

每天早晨都举行宗教晨会。

更多范例减少例句Everyone would go into the hall for assembly and then afterwards we'd go to our respective classes.He is an elected member of the Northern Ireland Assembly.Are you in favour of setting up regional assemblies to legislate on local matters?If you don't organize the demonstration properly the police will say it's an illegal assembly.We have an assembly for the whole college three times a term, with class and group assemblies once a week.

assembly noun

(JOINING)

C2 [ U ] the process of putting together the parts of a machine or structure

组装;装配

[ C ]

  engineering

  specialized the structure produced by this process

组合体;总成

The frame needs to be strong enough to support the engine assembly.

座身要非常坚固,足以承受发动机所有组件的重量。

(assembly在剑桥英语-中文(简体)词典的翻译 © Cambridge University Press)

assembly的例句

assembly

It is in fact one of the assembly sequences.

来自 Cambridge English Corpus

The entire assembly was finally placed in the shear-flow apparatus.

来自 Cambridge English Corpus

As shown in the design decomposition, the drive equipment specialist is responsible for selection and (optionally) assembly of the drive train components.

来自 Cambridge English Corpus

The assemblies would set development criteria and keep watch over elected and appointed government officials.

来自 Cambridge English Corpus

These may be due to extrinsic constraints that are too restrictive or assembly designs that are physically impossible.

来自 Cambridge English Corpus

For the recording of the hologram, the plate was placed behind the shutter and this assembly was moved into the laser beam line.

来自 Cambridge English Corpus

This shows that dual pegs fall into dual holes during the assembly process.

来自 Cambridge English Corpus

This reformulation paired with the idea that the assembly of syntactic structure takes place in one step leads to the elimination of the cycle.

来自 Cambridge English Corpus

示例中的观点不代表剑桥词典编辑、剑桥大学出版社和其许可证颁发者的观点。

C2,C2

assembly的翻译

中文(繁体)

集會, (尤指為特定目的而經常)聚集在一起的人,(所有)與會者, 集合,聚集…

查看更多内容

西班牙语

asamblea, asamblea [feminine], reunión [feminine]…

查看更多内容

葡萄牙语

assembleia, assembleia [feminine], reunião [feminine]…

查看更多内容

更多语言

in Marathi

日语

土耳其语

法语

加泰罗尼亚语

in Dutch

in Tamil

in Hindi

in Gujarati

丹麦语

in Swedish

马来语

德语

挪威语

in Urdu

in Ukrainian

俄语

in Telugu

阿拉伯语

in Bengali

捷克语

印尼语

泰语

越南语

波兰语

韩语

意大利语

सभा…

查看更多内容

集会, 会合, 議会…

查看更多内容

tüm öğrenci ve öğretmenlerin katıldığı genel toplantı, meclis, toplantı…

查看更多内容

assemblée [feminine], réunion [feminine] de tous les étudiants et les enseignants à l’école, assemblée…

查看更多内容

assemblea, reunió…

查看更多内容

vergadering, assemblage…

查看更多内容

மக்கள் குழு, குறிப்பாக அரசாங்கம் போன்ற ஒரு குறிப்பிட்ட நோக்கத்திற்காக தவறாமல் சந்திக்கும் ஒரு குழு, அல்லது…

查看更多内容

सभा, विधान-सभा (लोगों का शासकीय आदि किसी विशेष उद्देश्य से नियमित रूप से मिल बैठने वाला समूह या सामान्य तौर पर लोगों के साथ आने या होने की प्रक्रिया)…

查看更多内容

સભા, સંમેલન…

查看更多内容

forsamling, samling, montering…

查看更多内容

sammanträde, möte, samling…

查看更多内容

perhimpunan, menghimpunkan…

查看更多内容

die Versammlung, die Zusammensetzung…

查看更多内容

forsamling [masculine], samling [masculine], sammenkomst [masculine]…

查看更多内容

اسمبلی…

查看更多内容

асамблея, збори, складання…

查看更多内容

собрание, ассамблея, сборка…

查看更多内容

అసెంబ్లి, వ్యక్తుల సమూహం, ప్రత్యేకించి ప్రభుత్వం…

查看更多内容

جَمْعِيّة…

查看更多内容

সভা, পরিষদ…

查看更多内容

shromáždění, sraz, schůze…

查看更多内容

majelis, perakitan…

查看更多内容

กลุ่มคน, การประกอบ, การรวมกลุ่ม…

查看更多内容

hội nghị, sự hội họp…

查看更多内容

apel, zgromadzenie, montaż…

查看更多内容

집회, 의회…

查看更多内容

assemblea, riunione, montaggio…

查看更多内容

需要一个翻译器吗?

获得快速、免费的翻译!

翻译器工具

assembly的发音是什么?

在英语词典中查看 assembly 的释义

浏览

assay

assemblage

assemble

assembler

assembly

assembly language

assembly line

assemblyman

assemblywoman

assembly更多的中文(简体)翻译

全部

assembly line

self-assembly

assembly language

legislative assembly

assembly, at legislative assembly

查看全部意思»

“每日一词”

flexitarian

A flexitarian way of eating consists mainly of vegetarian food but with some meat.

关于这个

博客

Forget doing it or forget to do it? Avoiding common mistakes with verb patterns (2)

March 06, 2024

查看更多

新词

stochastic parrot

March 04, 2024

查看更多

已添加至 list

回到页面顶端

内容

英语-中文(简体)例句翻译

©剑桥大学出版社与评估2024

学习

学习

学习

新词

帮助

纸质书出版

Word of the Year 2021

Word of the Year 2022

Word of the Year 2023

开发

开发

开发

词典API

双击查看

搜索Widgets

执照数据

关于

关于

关于

无障碍阅读

剑桥英语教学

剑桥大学出版社与评估

授权管理

Cookies与隐私保护

语料库

使用条款

京ICP备14002226号-2

©剑桥大学出版社与评估2024

剑桥词典+Plus

我的主页

+Plus 帮助

退出

词典

定义

清晰解释自然的书面和口头英语

英语

学习词典

基础英式英语

基础美式英语

翻译

点击箭头改变翻译方向。

双语词典

英语-中文(简体)

Chinese (Simplified)–English

英语-中文(繁体)

Chinese (Traditional)–English

英语-荷兰语

荷兰语-英语

英语-法语

法语-英语

英语-德语

德语-英语

英语-印尼语

印尼语-英语

英语-意大利语

意大利语-英语

英语-日语

日语-英语

英语-挪威语

挪威语-英语

英语-波兰语

波兰语-英语

英语-葡萄牙语

葡萄牙语-英语

英语-西班牙语

西班牙语-英语

English–Swedish

Swedish–English

半双语词典

英语-阿拉伯语

英语-孟加拉语

英语-加泰罗尼亚语

英语-捷克语

英语-丹麦语

English–Gujarati

英语-印地语

英语-韩语

英语-马来语

英语-马拉地语

英语-俄语

English–Tamil

English–Telugu

英语-泰语

英语-土耳其语

英语-乌克兰语

English–Urdu

英语-越南语

翻译

语法

同义词词典

Pronunciation

剑桥词典+Plus

Shop

剑桥词典+Plus

我的主页

+Plus 帮助

退出

登录 /

注册

中文 (简体)  

Change

English (UK)

English (US)

Español

Русский

Português

Deutsch

Français

Italiano

中文 (简体)

正體中文 (繁體)

Polski

한국어

Türkçe

日本語

Tiếng Việt

हिंदी

தமிழ்

తెలుగు

关注我们

选择一本词典

最近的词和建议

定义

清晰解释自然的书面和口头英语

英语

学习词典

基础英式英语

基础美式英语

语法与同义词词典

对自然书面和口头英语用法的解释

英语语法

同义词词典

Pronunciation

British and American pronunciations with audio

English Pronunciation

翻译

点击箭头改变翻译方向。

双语词典

英语-中文(简体)

Chinese (Simplified)–English

英语-中文(繁体)

Chinese (Traditional)–English

英语-荷兰语

荷兰语-英语

英语-法语

法语-英语

英语-德语

德语-英语

英语-印尼语

印尼语-英语

英语-意大利语

意大利语-英语

英语-日语

日语-英语

英语-挪威语

挪威语-英语

英语-波兰语

波兰语-英语

英语-葡萄牙语

葡萄牙语-英语

英语-西班牙语

西班牙语-英语

English–Swedish

Swedish–English

半双语词典

英语-阿拉伯语

英语-孟加拉语

英语-加泰罗尼亚语

英语-捷克语

英语-丹麦语

English–Gujarati

英语-印地语

英语-韩语

英语-马来语

英语-马拉地语

英语-俄语

English–Tamil

English–Telugu

英语-泰语

英语-土耳其语

英语-乌克兰语

English–Urdu

英语-越南语

词典+Plus

词汇表

选择语言

中文 (简体)  

English (UK)

English (US)

Español

Русский

Português

Deutsch

Français

Italiano

正體中文 (繁體)

Polski

한국어

Türkçe

日本語

Tiếng Việt

हिंदी

தமிழ்

తెలుగు

内容

英语-中文(简体) 

 

Noun 

assembly (MEETING)

Assembly

assembly (JOINING)

例句

Translations

语法

所有翻译

我的词汇表

把assembly添加到下面的一个词汇表中,或者创建一个新词汇表。

更多词汇表

前往词汇表

对该例句有想法吗?

例句中的单词与输入词条不匹配。

该例句含有令人反感的内容。

取消

提交

例句中的单词与输入词条不匹配。

该例句含有令人反感的内容。

取消

提交

Assembly 类 (System.Reflection) | Microsoft Learn

Assembly 类 (System.Reflection) | Microsoft Learn

跳转至主内容

此浏览器不再受支持。

请升级到 Microsoft Edge 以使用最新的功能、安全更新和技术支持。

下载 Microsoft Edge

有关 Internet Explorer 和 Microsoft Edge 的详细信息

目录

退出焦点模式

语言

使用英语阅读

保存

目录

使用英语阅读

保存

打印

Twitter

LinkedIn

Facebook

电子邮件

目录

Assembly 类

参考

反馈

定义

命名空间:

System.Reflection

程序集:System.Reflection.dll

程序集:System.Runtime.dll

程序集:mscorlib.dll

程序集:netstandard.dll

重要

一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。

表示一个程序集,它是一个可重用、无版本冲突并且可自我描述的公共语言运行时应用程序构建基块。

public ref class Assembly abstract

public ref class Assembly abstract : System::Reflection::ICustomAttributeProvider, System::Runtime::Serialization::ISerializable

public ref class Assembly abstract : System::Reflection::ICustomAttributeProvider

public ref class Assembly : System::Reflection::ICustomAttributeProvider, System::Runtime::InteropServices::_Assembly, System::Runtime::Serialization::ISerializable, System::Security::IEvidenceFactory

public ref class Assembly abstract : System::Reflection::ICustomAttributeProvider, System::Runtime::InteropServices::_Assembly, System::Runtime::Serialization::ISerializable, System::Security::IEvidenceFactory

public abstract class Assembly

public abstract class Assembly : System.Reflection.ICustomAttributeProvider, System.Runtime.Serialization.ISerializable

public abstract class Assembly : System.Reflection.ICustomAttributeProvider

[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]

[System.Serializable]

public class Assembly : System.Reflection.ICustomAttributeProvider, System.Runtime.InteropServices._Assembly, System.Runtime.Serialization.ISerializable, System.Security.IEvidenceFactory

[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]

[System.Serializable]

[System.Runtime.InteropServices.ComVisible(true)]

public class Assembly : System.Reflection.ICustomAttributeProvider, System.Runtime.InteropServices._Assembly, System.Runtime.Serialization.ISerializable, System.Security.IEvidenceFactory

[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]

[System.Serializable]

[System.Runtime.InteropServices.ComVisible(true)]

public abstract class Assembly : System.Reflection.ICustomAttributeProvider, System.Runtime.InteropServices._Assembly, System.Runtime.Serialization.ISerializable, System.Security.IEvidenceFactory

type Assembly = class

type Assembly = class

interface ICustomAttributeProvider

interface ISerializable

type Assembly = class

interface ICustomAttributeProvider

[]

[]

type Assembly = class

interface _Assembly

interface IEvidenceFactory

interface ICustomAttributeProvider

interface ISerializable

[]

[]

[]

type Assembly = class

interface _Assembly

interface IEvidenceFactory

interface ICustomAttributeProvider

interface ISerializable

Public MustInherit Class Assembly

Public MustInherit Class Assembly

Implements ICustomAttributeProvider, ISerializable

Public MustInherit Class Assembly

Implements ICustomAttributeProvider

Public Class Assembly

Implements _Assembly, ICustomAttributeProvider, IEvidenceFactory, ISerializable

Public MustInherit Class Assembly

Implements _Assembly, ICustomAttributeProvider, IEvidenceFactory, ISerializable

继承

Object

Assembly

派生

System.Reflection.Emit.AssemblyBuilder

属性

ClassInterfaceAttribute

SerializableAttribute

ComVisibleAttribute

实现

ICustomAttributeProvider

ISerializable

_Assembly

IEvidenceFactory

示例

下面的代码示例演示如何获取当前正在执行的程序集,创建该程序集中包含的类型的实例,以及使用后期绑定调用该类型的方法之一。 为此,代码示例使用名为 的方法定义名为 Example的 SampleMethod类。 类的构造函数接受整数,该整数用于计算方法的返回值。

该代码示例还演示了如何使用 GetName 方法获取 AssemblyName 可用于分析程序集全名的对象。 该示例显示程序集的版本号、 CodeBase 属性和 EntryPoint 属性。

using namespace System;

using namespace System::Reflection;

using namespace System::Security::Permissions;

[assembly:AssemblyVersionAttribute("1.0.2000.0")];

public ref class Example

{

private:

int factor;

public:

Example(int f)

{

factor = f;

}

int SampleMethod(int x)

{

Console::WriteLine("\nExample->SampleMethod({0}) executes.", x);

return x * factor;

}

};

void main()

{

Assembly^ assem = Example::typeid->Assembly;

Console::WriteLine("Assembly Full Name:");

Console::WriteLine(assem->FullName);

// The AssemblyName type can be used to parse the full name.

AssemblyName^ assemName = assem->GetName();

Console::WriteLine("\nName: {0}", assemName->Name);

Console::WriteLine("Version: {0}.{1}",

assemName->Version->Major, assemName->Version->Minor);

Console::WriteLine("\nAssembly CodeBase:");

Console::WriteLine(assem->CodeBase);

// Create an object from the assembly, passing in the correct number and

// type of arguments for the constructor.

Object^ o = assem->CreateInstance("Example", false,

BindingFlags::ExactBinding,

nullptr, gcnew array { 2 }, nullptr, nullptr);

// Make a late-bound call to an instance method of the object.

MethodInfo^ m = assem->GetType("Example")->GetMethod("SampleMethod");

Object^ ret = m->Invoke(o, gcnew array { 42 });

Console::WriteLine("SampleMethod returned {0}.", ret);

Console::WriteLine("\nAssembly entry point:");

Console::WriteLine(assem->EntryPoint);

}

/* This code example produces output similar to the following:

Assembly Full Name:

source, Version=1.0.2000.0, Culture=neutral, PublicKeyToken=null

Name: source

Version: 1.0

Assembly CodeBase:

file:///C:/sdtree/AssemblyClass/cpp/source.exe

Example->SampleMethod(42) executes.

SampleMethod returned 84.

Assembly entry point:

UInt32 _mainCRTStartup()

*/

using System;

using System.Reflection;

using System.Security.Permissions;

[assembly:AssemblyVersionAttribute("1.0.2000.0")]

public class Example

{

private int factor;

public Example(int f)

{

factor = f;

}

public int SampleMethod(int x)

{

Console.WriteLine("\nExample.SampleMethod({0}) executes.", x);

return x * factor;

}

public static void Main()

{

Assembly assem = typeof(Example).Assembly;

Console.WriteLine("Assembly Full Name:");

Console.WriteLine(assem.FullName);

// The AssemblyName type can be used to parse the full name.

AssemblyName assemName = assem.GetName();

Console.WriteLine("\nName: {0}", assemName.Name);

Console.WriteLine("Version: {0}.{1}",

assemName.Version.Major, assemName.Version.Minor);

Console.WriteLine("\nAssembly CodeBase:");

Console.WriteLine(assem.CodeBase);

// Create an object from the assembly, passing in the correct number

// and type of arguments for the constructor.

Object o = assem.CreateInstance("Example", false,

BindingFlags.ExactBinding,

null, new Object[] { 2 }, null, null);

// Make a late-bound call to an instance method of the object.

MethodInfo m = assem.GetType("Example").GetMethod("SampleMethod");

Object ret = m.Invoke(o, new Object[] { 42 });

Console.WriteLine("SampleMethod returned {0}.", ret);

Console.WriteLine("\nAssembly entry point:");

Console.WriteLine(assem.EntryPoint);

}

}

/* This code example produces output similar to the following:

Assembly Full Name:

source, Version=1.0.2000.0, Culture=neutral, PublicKeyToken=null

Name: source

Version: 1.0

Assembly CodeBase:

file:///C:/sdtree/AssemblyClass/cs/source.exe

Example.SampleMethod(42) executes.

SampleMethod returned 84.

Assembly entry point:

Void Main()

*/

Imports System.Reflection

Imports System.Security.Permissions

Public Class Example

Private factor As Integer

Public Sub New(ByVal f As Integer)

factor = f

End Sub

Public Function SampleMethod(ByVal x As Integer) As Integer

Console.WriteLine(vbCrLf & "Example.SampleMethod({0}) executes.", x)

Return x * factor

End Function

Public Shared Sub Main()

Dim assem As Assembly = GetType(Example).Assembly

Console.WriteLine("Assembly Full Name:")

Console.WriteLine(assem.FullName)

' The AssemblyName type can be used to parse the full name.

Dim assemName As AssemblyName = assem.GetName()

Console.WriteLine(vbLf + "Name: {0}", assemName.Name)

Console.WriteLine("Version: {0}.{1}", assemName.Version.Major, _

assemName.Version.Minor)

Console.WriteLine(vbLf + "Assembly CodeBase:")

Console.WriteLine(assem.CodeBase)

' Create an object from the assembly, passing in the correct number

' and type of arguments for the constructor.

Dim o As Object = assem.CreateInstance("Example", False, _

BindingFlags.ExactBinding, Nothing, _

New Object() { 2 }, Nothing, Nothing)

' Make a late-bound call to an instance method of the object.

Dim m As MethodInfo = assem.GetType("Example").GetMethod("SampleMethod")

Dim ret As Object = m.Invoke(o, New Object() { 42 })

Console.WriteLine("SampleMethod returned {0}.", ret)

Console.WriteLine(vbCrLf & "Assembly entry point:")

Console.WriteLine(assem.EntryPoint)

End Sub

End Class

' This code example produces output similar to the following:

'

'Assembly Full Name:

'source, Version=1.0.2000.0, Culture=neutral, PublicKeyToken=null

'

'Name: source

'Version: 1.0

'

'Assembly CodeBase:

'file:///C:/sdtree/AssemblyClass/vb/source.exe

'

'Example.SampleMethod(42) executes.

'SampleMethod returned 84.

'

'Assembly entry point:

'Void Main()

'

注解

Assembly使用 类加载程序集、浏览程序集的元数据和构成部分、发现程序集中包含的类型以及创建这些类型的实例。

若要获取表示当前加载到应用程序域中的程序集的 Assembly 数组, (例如,简单项目的默认应用程序域) ,请使用 AppDomain.GetAssemblies 方法。

为了动态加载程序集, Assembly 类在 Visual Basic) 中提供以下静态方法 (Shared 方法。 程序集将加载到发生加载操作的应用程序域中。

加载程序集的建议方法是使用 Load 方法,该方法通过显示名称 (标识要加载的程序集,例如“System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”) 。 对程序集的搜索遵循 运行时如何查找程序集中所述的规则。

和 ReflectionOnlyLoadReflectionOnlyLoadFrom 方法使你能够加载程序集进行反射,但不能加载用于执行。 例如,面向 64 位平台的程序集可以通过在 32 位平台上运行的代码进行检查。

LoadFile和 LoadFrom 方法适用于必须按路径标识程序集的极少数情况。

若要获取 Assembly 当前正在执行的程序集的对象,请使用 GetExecutingAssembly 方法。

类的许多 Assembly 成员提供有关程序集的信息。 例如:

方法 GetName 返回一个 AssemblyName 对象,该对象提供对程序集显示名称的各个部分的访问。

方法 GetCustomAttributes 列出应用于程序集的属性。

方法 GetFiles 提供对程序集清单中的文件的访问权限。

方法 GetManifestResourceNames 提供程序集清单中资源的名称。

方法 GetTypes 列出程序集中的所有类型。 方法 GetExportedTypes 列出程序集外部调用方可见的类型。 方法 GetType 可用于在程序集中搜索特定类型。 方法 CreateInstance 可用于在程序集中搜索和创建类型的实例。

有关程序集的详细信息,请参阅应用程序域主题中的“ 应用程序域 和程序集”部分。

构造函数

Assembly()

初始化 Assembly 类的新实例。

属性

CodeBase

已过时.

已过时.

获取最初指定的程序集的位置,例如,在 AssemblyName 对象中指定的位置。

CustomAttributes

获取包含此程序集自定义属性的集合。

DefinedTypes

获取定义在此程序集中的类型的集合。

EntryPoint

获取此程序集的入口点。

EscapedCodeBase

已过时.

已过时.

获取 URI,包括表示基本代码的转义符。

Evidence

获取此程序集的证据。

ExportedTypes

获取此程序集中定义的公共类型的集合,这些公共类型在程序集外可见。

FullName

获取程序集的显示名称。

GlobalAssemblyCache

已过时.

获取一个值,该值指示程序集是否是从全局程序集缓存中加载的, (.NET Framework仅) 。

HostContext

获取用于加载程序集的主机上下文。

ImageRuntimeVersion

获取表示公共语言运行时 (CLR) 的版本的字符串,该信息保存在包含清单的文件中。

IsCollectible

获取一个值,该值指示此程序集是否保留在可回收的 AssemblyLoadContext 中。

IsDynamic

获取一个值,该值指示当前程序集是否是通过使用反射发出在当前进程中动态生成的。

IsFullyTrusted

获取一个值,该值指示当前程序集是否是以完全信任方式加载的。

Location

获取包含清单的已加载文件的完整路径或 UNC 位置。

ManifestModule

获取包含当前程序集清单的模块。

Modules

获取包含此程序集中模块的集合。

PermissionSet

获取当前程序集的授予集。

ReflectionOnly

获取 Boolean 值,该值指示此程序集是否被加载到只反射上下文中。

SecurityRuleSet

获取一个值,该值指示公共语言运行时 (CLR) 对此程序集强制执行的安全规则集。

方法

CreateInstance(String)

使用区分大小写的搜索,从此程序集中查找指定的类型,然后使用系统激活器创建它的实例。

CreateInstance(String, Boolean)

使用可选的区分大小写搜索,从此程序集中查找指定的类型,然后使用系统激活器创建它的实例。

CreateInstance(String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

使用可选的区分大小写搜索并具有指定的区域性、参数和绑定及激活特性,从此程序集中查找指定的类型,并使用系统激活器创建它的实例。

CreateQualifiedName(String, String)

创建由类型的程序集的显示名称限定的类型的名称。

Equals(Object)

确定此程序集和指定的对象是否相等。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)

GetAssembly(Type)

获取在其中定义指定类型的当前加载的程序集。

GetCallingAssembly()

返回方法(该方法调用当前正在执行的方法)的 Assembly。

GetCustomAttributes(Boolean)

获取此程序集的所有自定义属性。

GetCustomAttributes(Type, Boolean)

获取按类型指定的此程序集的自定义属性。

GetCustomAttributesData()

返回有关已应用于当前 Assembly(表示为 CustomAttributeData 对象)的特性的信息。

GetEntryAssembly()

获取默认应用程序域中的进程可执行文件。 在其他的应用程序域中,这是由 ExecuteAssembly(String) 执行的第一个可执行文件。

GetExecutingAssembly()

获取包含当前执行的代码的程序集。

GetExportedTypes()

获取此程序集中定义的公共类型,这些公共类型在程序集外可见。

GetFile(String)

获取此程序集清单的文件表中指定文件的 FileStream。

GetFiles()

获取程序集清单文件表中的文件。

GetFiles(Boolean)

获取程序集清单的文件表中的文件,指定是否包括资源模块。

GetForwardedTypes()

表示一个程序集,它是一个可重用、无版本冲突并且可自我描述的公共语言运行时应用程序构建基块。

GetHashCode()

返回此实例的哈希代码。

GetHashCode()

作为默认哈希函数。

(继承自 Object)

GetLoadedModules()

获取作为此程序集的一部分的所有加载模块。

GetLoadedModules(Boolean)

获取属于此程序集的所有已加载模块,同时指定是否包括资源模块。

GetManifestResourceInfo(String)

返回关于给定资源如何保持的信息。

GetManifestResourceNames()

返回此程序集中的所有资源的名称。

GetManifestResourceStream(String)

从此程序集加载指定的清单资源。

GetManifestResourceStream(Type, String)

从此程序集加载指定清单资源,清单资源的范围由指定类型的命名空间确定。

GetModule(String)

获取此程序集中的指定模块。

GetModules()

获取作为此程序集的一部分的所有模块。

GetModules(Boolean)

获取属于此程序集的所有模块,同时指定是否包括资源模块。

GetName()

获取此程序集的 AssemblyName。

GetName(Boolean)

获取此程序集的 AssemblyName,并按 copiedName 指定的那样设置基本代码。

GetObjectData(SerializationInfo, StreamingContext)

已过时.

获取序列化信息,其中包含重新实例化此程序集所需的所有数据。

GetReferencedAssemblies()

获取此程序集引用的所有程序集的 AssemblyName 对象。

GetSatelliteAssembly(CultureInfo)

获取指定区域性的附属程序集。

GetSatelliteAssembly(CultureInfo, Version)

获取指定区域性的附属程序集的指定版本。

GetType()

表示一个程序集,它是一个可重用、无版本冲突并且可自我描述的公共语言运行时应用程序构建基块。

GetType()

获取当前实例的 Type。

(继承自 Object)

GetType(String)

获取程序集实例中具有指定名称的 Type 对象。

GetType(String, Boolean)

获取程序集实例中具有指定名称的 Type 对象,并选择在找不到该类型时引发异常。

GetType(String, Boolean, Boolean)

获取程序集实例中具有指定名称的 Type 对象,带有忽略大小写和在找不到该类型时引发异常的选项。

GetTypes()

获取此程序集中定义的所有类型。

IsDefined(Type, Boolean)

指示指定的属性是否已应用于该程序集。

Load(AssemblyName)

在给定程序集的 AssemblyName 的情况下,加载程序集。

Load(AssemblyName, Evidence)

已过时.

在给定程序集的 AssemblyName 的情况下,加载程序集。 使用提供的证据将该程序集加载到调用方的域中。

Load(Byte[])

加载带有基于通用对象文件格式 (COFF) 的映像的程序集,该映像包含已发出的程序集。 此程序集将会加载到调用方的应用程序域中。

Load(Byte[], Byte[])

加载带有基于通用对象文件格式 (COFF) 的映像的程序集,此映像包含一个已发出的程序集,并且还可以选择包括程序集的符号。 此程序集将会加载到调用方的应用程序域中。

Load(Byte[], Byte[], Evidence)

已过时.

加载带有基于通用对象文件格式 (COFF) 的映像的程序集,此映像包含一个已发出的程序集,并且还可选择包括程序集的符号和证据。 此程序集将会加载到调用方的应用程序域中。

Load(Byte[], Byte[], SecurityContextSource)

加载带有基于通用对象文件格式 (COFF) 的映像的程序集,此映像包含一个已发出的程序集,并且还可选择包括符号和指定安全上下文的源。 此程序集将会加载到调用方的应用程序域中。

Load(String)

用指定的名称加载程序集。

Load(String, Evidence)

已过时.

通过给定的程序集的显示名称来加载程序集,使用提供的证据将程序集加载到调用方的域中。

LoadFile(String)

加载指定路径上的程序集文件的内容。

LoadFile(String, Evidence)

已过时.

通过给定的程序集的路径来加载程序集,使用提供的证据将程序集加载到调用方的域中。

LoadFrom(String)

已知程序集的文件名或路径,加载程序集。

LoadFrom(String, Byte[], AssemblyHashAlgorithm)

通过给定程序集文件名或路径、哈希值及哈希算法来加载程序集。

LoadFrom(String, Evidence)

已过时.

在给定程序集的文件名或路径并提供安全证据的情况下,加载程序集。

LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)

已过时.

通过给定程序集文件名或路径、安全证据、哈希值及哈希算法来加载程序集。

LoadModule(String, Byte[])

加载带有基于通用对象文件格式 (COFF) 的映像(包含已发出的模块)或资源文件的模块(该模块相对于此程序集是内部的)。

LoadModule(String, Byte[], Byte[])

加载带有基于通用对象文件格式 (COFF) 的映像(包含已发出的模块)或资源文件的模块(该模块相对于此程序集是内部的)。 还加载表示此模块的符号的原始字节。

LoadWithPartialName(String)

已过时.

已过时.

已过时.

使用部分名称从应用程序目录或从全局程序集缓存加载程序集。

LoadWithPartialName(String, Evidence)

已过时.

使用部分名称从应用程序目录或从全局程序集缓存加载程序集。 使用提供的证据将该程序集加载到调用方的域中。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)

ReflectionOnlyLoad(Byte[])

已过时.

加载来自基于通用对象文件格式 (COFF) 的映像的程序集,该映像包含已发出的程序集。 程序集被加载到调用方的应用程序域的只反射上下文中。

ReflectionOnlyLoad(String)

已过时.

将给定显示名称的程序集加载到只反射上下文中。

ReflectionOnlyLoadFrom(String)

已过时.

将给定路径的程序集加载到只反射上下文中。

ToString()

返回程序集的全名,即所谓的显示名称。

UnsafeLoadFrom(String)

绕过某些安全检查,将程序集加载到加载源上下文中。

运算符

Equality(Assembly, Assembly)

指示两个 Assembly 对象是否相等。

Inequality(Assembly, Assembly)

指示两个 Assembly 对象是否不相等。

事件

ModuleResolve

当公共语言运行时类加载程序不能通过正常方法解析对程序集的内部模块的引用时发生。

显式接口实现

_Assembly.GetType()

返回当前实例的类型。

ICustomAttributeProvider.GetCustomAttributes(Boolean)

返回在该成员上定义的所有自定义特性的数组(已命名的特性除外),如果没有自定义特性,则返回空数组。

ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

返回在该成员上定义、由类型标识的自定义属性数组,如果没有该类型的自定义属性,则返回空数组。

ICustomAttributeProvider.IsDefined(Type, Boolean)

指示是否在该成员上定义了一个或多个 attributeType 实例。

扩展方法

GetExportedTypes(Assembly)

表示一个程序集,它是一个可重用、无版本冲突并且可自我描述的公共语言运行时应用程序构建基块。

GetModules(Assembly)

表示一个程序集,它是一个可重用、无版本冲突并且可自我描述的公共语言运行时应用程序构建基块。

GetTypes(Assembly)

表示一个程序集,它是一个可重用、无版本冲突并且可自我描述的公共语言运行时应用程序构建基块。

GetCustomAttribute(Assembly, Type)

检索应用于指定程序集的指定类型的自定义特性。

GetCustomAttribute(Assembly)

检索应用于指定程序集的指定类型的自定义特性。

GetCustomAttributes(Assembly)

检索应用于指定程序集的自定义特性集合。

GetCustomAttributes(Assembly, Type)

检索应用于指定程序集的指定类型的自定义特性集合

GetCustomAttributes(Assembly)

检索应用于指定程序集的指定类型的自定义特性集合

IsDefined(Assembly, Type)

确定是否将指定类型的任何自定义属性应用于指定的程序集。

TryGetRawMetadata(Assembly, Byte*, Int32)

检索程序集的元数据部分,以便与 一起使用 MetadataReader。

适用于

线程安全性

此类型是线程安全的。

另请参阅

AppDomain

AssemblyName

应用程序域

在 GitHub 上与我们协作

可以在 GitHub 上找到此内容的源,还可以在其中创建和查看问题和拉取请求。 有关详细信息,请参阅参与者指南。

.NET

提出文档问题

提供产品反馈

反馈

Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback.

提交和查看相关反馈

此产品

此页面

查看所有页面反馈

加州消费者隐私法案 (CCPA) 禁用图标

你的隐私选择

主题

高对比度

早期版本

博客

参与

隐私

使用条款

商标

© Microsoft 2024

其他资源

本文内容

加州消费者隐私法案 (CCPA) 禁用图标

你的隐私选择

主题

高对比度

早期版本

博客

参与

隐私

使用条款

商标

© Microsoft 2024

assembly是什么意思_assembly的翻译_音标_读音_用法_例句_爱词霸在线词典

mbly是什么意思_assembly的翻译_音标_读音_用法_例句_爱词霸在线词典首页翻译背单词写作校对词霸下载用户反馈专栏平台登录assembly是什么意思_assembly用英语怎么说_assembly的翻译_assembly翻译成_assembly的中文意思_assembly怎么读,assembly的读音,assembly的用法,assembly的例句翻译人工翻译试试人工翻译翻译全文简明柯林斯牛津assemblyCET4/CET6/考研/TOEFL英 [əˈsembli]美 [əˈsembli]释义n.议会,立法机构; 集会(者); 组装点击 人工翻译,了解更多 人工释义词态变化复数: assemblies;实用场景例句全部立法机构议会集会装配He was to address a public assembly on the issue.他要对公众集会发表演说谈论这个问题。牛津词典an assembly point (= a place where people have been asked to meet)集会地点牛津词典Putting the bookcase together should be a simple assembly job.组装书橱应该是个简单的装配活。牛津词典a car assembly plant汽车装配厂牛津词典They were fighting for freedom of speech and freedom of assembly.他们为言论自由和集会自由而斗争。牛津词典the UN General Assembly联合国大会牛津词典the California Assembly美国加利福尼亚州众议院牛津词典State/legislative/federal/local assemblies州众议院;立法会议;联邦 / 地方议会牛津词典Power has been handed over to provincial and regional assemblies.权力已移交给省和地区议会。牛津词典The national assembly has voted to adopt the budget.国民议会已表决通过预算。牛津词典...workers at Sao Paulo's car assembly plants.圣保罗汽车装配厂的工人柯林斯高阶英语词典For the rest of the day, he worked on the assembly of an explosive device.在那天余下的时间里,他继续组装爆炸装置。柯林斯高阶英语词典The US Constitution guarantees free speech, freedom of assembly and equal protection...美国宪法保证言论自由、集会自由和受到平等保护的权利。柯林斯高阶英语词典They were accused of unlawful assembly.他们被控非法集会。柯林斯高阶英语词典By 9, the juniors are in the hall for assembly.到9点时,三年级学生都在大厅里等待参加晨会。柯林斯高阶英语词典...a long room with a stage at one end for assemblies.一端设有早会用的高台的狭长房间柯林斯高阶英语词典He waited until complete quiet settled on the assembly.他一直等到集会的人群完全安静下来。柯林斯高阶英语词典...an assembly of women Olympic gold-medal winners...奥林匹克金牌女性获得者的集会柯林斯高阶英语词典...an assembly of party members from the Russian republic.俄罗斯共和国的党员代表大会柯林斯高阶英语词典...the campaign for the first free election to the National Assembly.呼吁国民议会召开首次自由选举的运动柯林斯高阶英语词典All parties won representation in the national assembly.所有政党在国民大会中都赢得了代表资格.《简明英汉词典》The assembly voted to delay the legislation to allow further consultation to take place.议会投票决定暂缓立法以便进一步磋商.《简明英汉词典》He took his seat in an unobserved corner of the assembly room.他在会议室一个不为人注意的犄角坐下来.《现代汉英综合大词典》The General Assembly may limit the time to be allowed to each speaker.大会可限制每一发言者的发言时间.《现代汉英综合大词典》I wish to congratulate you on your being elected as President of the General Assembly.我谨祝贺你当选本届大会主席.《现代汉英综合大词典》Every part is individually checked before assembly.在装配前,部件要逐个检查.《简明英汉词典》The delegates entered the assembly hall by way of the lobby.代表们通过大厅进入会场.《现代汉英综合大词典》收起实用场景例句真题例句全部四级六级高考One of the great things about freshman housing is that, with some exceptions, the process throws you together randomly," said Undergraduate Assembly chairman Alec Webley.出自-2011年6月阅读原文Henry Ford's Model T introduced in America in 1909 was cheaper because it was made on the assembly line.2016年6月四级真题(第一套)听力 Section CManufacturing's shrinking presence undoubtedly helps explain the decline in craftsmanship, if only because many of the nation's assembly line workers were skilled in craft work, if not on the job then in their spare time.出自-2013年6月阅读原文Milkman says, "that these extracurricular jobs were an effort on the part of the workers to regain their dignity after suffering the degradation of repetitive assembly line work in the factory出自-2013年6月阅读原文In Ruth Milkman's opinion, many assembly line workers did home renovation and other skilled work in their off-hours in order to regain their dignity.出自-2013年6月阅读原文The UN had the foresight to convene a "world assembly on ageing" back in 1982, but that came and went.出自-2010年12月阅读原文The model T Ford was built at the piquette plant in Michigan a century ago, with the first rolling off the assembly line on september 27, 1908.2018年高考英语浙江卷 阅读理解 阅读C 原文收起真题例句英英释义Noun1. a group of machine parts that fit together to form a self-contained unit2. the act of constructing something (as a piece of machinery)3. a public facility to meet for open discussion4. a group of persons gathered together for a common purpose5. the social act of assembling;"they demanded the right of assembly"收起英英释义词根词缀词根: sembl=alike/same,表示"相类似,一样"n.assembly 集合, 装配, 集会, 集结, 汇编assemble[v.集合,召集;装配;收集 v.集合,聚集]+y状态,性质→assemblyresemblance 相似,相似性[点,物]resemble[v.像,类似]+ance表名词→n.相似,相似性[点,物]semblance 外貌,相似sembl相类似,一样+ance表名词→相同之处v.assemble 集合,召集;装配;收集 as不断+sembl相类似,一样+e→不断[走向]同一个地方→召集dissemble 隐藏,掩饰[感受,意图]dis不+sembl相类似,一样+e→不想同装做相同→掩饰resemble 像,类似re再,加强+sembl相类似,一样+e→v.像,类似同义词辨析conference, congress, assembly, meeting, rally, council, session, convention, gathering这些名词均含有"会,会议"之意。conference: 正式用词,一般指大型会议,如政府工作会议、国际学术交流会议、各国之间的协商、会谈等。 congress: 指国会、议会、代表大会等机构,尤指经选举产生的国家立法机构的大会或由这些机构召开的大会,也可指专业人员代表大会。assembly: 多指一个通常有许多人参加、计划好的,为某一特殊目的而召集的会议。meeting: 普通用词,词义广泛。指一般性的会议,可用于任何场合。rally: 指大规模的群众性政治集会。council: 在国际上多指由各国代表参加的政治会议,或常设的政治机构。在国内、地方上,此词多指常设的政务领导机构,如市政委员会等。session: 一般指议会等召开的正式会议。convention: 侧重指某一政党或团体为某一特殊目的而召开的会议;也可指学术团体的年会。gathering: 指两人以上的聚会或集会,强调非正式性。同义词n.聚会,议会congregationjuntacongresssynodforgatheringconsistorycounciln.舞会,宴会,沙龙dancesoireeballbanquetsalonn.集合,集体confluenceconvergenceroutmeetinggatheringgroupconcourseassemblage其他释义productioncollectioncircleunionconventionconstructionparishhallcompilationcabinetsynthesisreunion行业词典动物学集群   机械装配   按规定的技术要求将零件或部件进行组配和连接,使之成为半成品或成品的工艺过程。   林学组坯   又称 :组坯(lay-up )   法律代表大会   集会   会议   议会   生物化学装配   生物学[病毒]装配   电力组件   电工组合装置   航天装配   释义词态变化实用场景例句真题例句英英释义词根词缀同义词辨析同义词行

Assembly Language教程_w3cschool

Assembly Language教程_w3cschool

编程入门教程

编程课程

编程实战

编程题库

在线工具

VIP会员

送会员

App下载

扫码下载编程狮APP

注册|登录

注册成功

X

W3Cschool

恭喜您成为首批注册用户

获得88经验值奖励

马上体验

入门教程

编程课程

VIP会员

Assembly Language教程

收藏

更多文章

目录

搜索

书签

Assembly 基础介绍

Assembly 环境设置

Assembly 数制

计算机内存和CPU的基础知识

计算机实模式和保护模式

计算机汇编语言和指令操作

Assembly 指示符

Assembly 输入输出和调试

Assembly创建一个程序的步骤

基本汇编语言

Assembly 整形表示法

Assembly 正负号延伸

Assembly 补码运算

Assembly 扩充精度运算

Assembly 控制结构

标准控制结构如何应用到Assembly

位操作

Assembly 移位操作

Assembly 布尔型按位运算

Assembly 避免使用条件分支

Assembly C中的按位运算

Assembly Big和Little Endian表示法

Assembly 计算位数的3种方法

子程序

Assembly 间接寻址及堆栈

Assembly CALL和RET指令

Assembly 调用约定

Assembly 多模块程序

C与汇编的接口技术

Assembly 可重入和递归子程序

数组

Assembly 数组详解

Assembly 更高级的间接寻址

Assembly 多维数组

Assembly 数组/串处理指令

浮点

Assembly 浮点表示法

Assembly 浮点运算

Assembly 数字协处理器

结构体与C++

Assembly 结构体

Assembly 重载函数和名字改编

Assembly 类的概念和样例介绍

Assembly 继承和多态

搜索

A

A

默认

夜间

Assembly Language教程

阅读(227.5k)

收藏

赞(14)

分享

手册简介

汇编语言是一种低层次的编程语言,一台电脑,或其他具体到一个特定的计算机架构中最高级编程语言,这是一般便携式跨多个系统的可编程器件。汇编语言转换成可执行的机器代码的一个实用程序称为像NASM汇编MASM等

手册说明

认识 Assembly Language:Assembly language(汇编语言)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。Assembly Language 的优点:①说明程序是如何与操作系统、处理器和BIOS接口的; ②说明数据是如何表示并存储在存储器与外部设备上的; ③阐述处理器是如何访问与执行指令的,以及指令是如何访问与处理数据的; ④阐述程序是如何访问外部设备的。

使用汇编语言的理由是:

能够直接访问与硬件相关的存储器或I/O端口; 能够不受编译器的限制,对生成的二进制代码进行完全的控制; 能够对关键代码进行更准确的控制,避免因线程共同访问或者硬件设备共享引起的死锁; 能够根据特定的应用对代码做最佳的优化,提高运行速度; 能够最大限度地发挥硬件的功能; 用汇编语言编写的程序比用高级语言编写的程序所要求的存储空间与执行时间将显著减少; 汇编语言使程序员可以完成技术性非常强的任务,而使用高级语言,即使可能做到,恐怕也会非常困难; 虽然大多数软件专家是用高级语言开发新的应用软件的(那样做,程序会比较容易编写的维护),但是对于执行时间要求比较苛刻的部分,常常还要用汇编语言来重新编写; 常驻程序(当其他程序运行的时候,常驻在存储器中的程序)和中断服务例行程序(处理输入与输出的程序)几乎都是用汇编语言开发的。Assembly Language 的缺点:虽然汇编语言有诸多的优点,同时还应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:

  编写的代码非常难懂,不好维护; 很容易产生Bug,难于调试; 只能针对特定的体系结构和处理器进行优化; 开发效率很低,时间长且单调。Assembly Language 的发展及学习前的准备:早期的程序设计均使用机器语言。程序员们将用0, 1数字编成的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。这样的机器语言由纯粹的0和1构成,十分复杂,不方便阅读和修改,也容易产生错误。程序员们很快就发现了使用机器语言带来的麻烦,它们难于辨别和记忆,给整个产业的发展带来了障碍,于是汇编语言产生了。

汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。操作:寄存器BX的内容送到AX中

1000100111011000 机器指令

mov ax,bx 汇编指令此后,程序员们就用汇编指令编写源程序。可是,计算机能读懂的只有机器指令,那么如何让计算机执行程序员用汇编指令编写的程序呢?这时,就需要有一个能够将汇编指令转换成机器指令的翻译程序,这样的程序我们称其为编译器。程序员用汇编语言写出源程序,再用汇编编译器将其编译为机器码,由计算机最终执行。21世纪以来,学习汇编的人虽然也不少,但是真正能学到精通的却不多,它相对于高级语言难学,难用,适用范围小,虽然简单,但是过于灵活,学习过高级语言的人去学习汇编比一开始学汇编的人难得多,但是学过汇编的人学习高级语言却很容易,简从繁易,繁从简难。对于一个全面了解微机原理的程序员,汇编语言是必修语言。在您开始学习 Assembly Language 之前,您应该对以下知识有基本的了解:w3cschool《C语言教程》Assembly Language 环境及安装本地环境设置:汇编语言是依赖于指令集和架构的处理器。在本教程中,我们使用英特尔32处理器,如奔腾。按照本教程中将需要:

1、一台IBM PC兼容电脑或任何同等

2、Linux操作系统副本

3、NASM汇编程序的副本

有很多很好的汇编程序,如:

1、微软汇编(MASM)2、Borland公司的Turbo汇编(TASM)3、GNU汇编器(GAS)我们将使用NASM汇编,因为它是:1、免费。可以从网络下载。有据可查的,会得到大量网上的信息。2、可以用在Linux和Windows3、安装NASM如果选择“开发工具”,而安装Linux,可以随着Linux操作系统安装NASM,不需要单独下载并安装。检查是否已经安装了NASM,采取以下步骤:

1、打开一个Linux终端。2、输入whereis NASM,然后按ENTER键。如果已经安装,则类似这样一行,nasm: /usr/bin/nasm将出现。否则将看到的只是NASM,那么需要安装NASM。

要安装NASM采取以下步骤:

1、详细访问NASM官网The netwide assembler (NASM) 查看最新版本。2、下载Linux源归档文件nasm-X.XX. ta .gz。GZ,其中X.XX为NASM版本号到存档。 3、解压缩到一个目录,创建一个子目录 nasm-X. XX.4、进入目录 nasm-X. XX 然后输入 ./configure . 此shell脚本将找到最好的C编译器的使用和设置相应的Makefile。5、输入 make 来建立NASM和ndisasm的二进制文件。6、输入make install NASM和ndisasm安装在/usr/local/bin目录和安装手册页。这应该在系统上安装NASM。另外在Linux系统中可以使用RPM分发。这个版本是简单安装,只需双击该RPM文件。Assembly Language 教程结构概述本教程共由20个章节构成,详细讲述了Assembly Language的基础使用方法:本教程包含:1、Assembly 基础介绍2、Assembly 基本汇编语言3、Assembly 位操作4、Assembly 子程序5、Assembly 数组6、Assembly 浮点7、结构体与C++8、80X86指令

更新记录

计算机内存和CPU的基础知识

03-13 17:50

Assembly创建一个程序的步骤

09-03 10:33

Assembly 结构体

12-04 17:43

Assembly 重载函数和名字改编

12-04 17:43

Assembly 类的概念和样例介绍

12-04 17:43

Assembly 继承和多态

12-04 17:43

Assembly 数字协处理器

11-01 11:21

Assembly 浮点运算

11-01 10:41

Assembly 浮点表示法

11-01 09:55

Assembly 数组/串处理指令

10-31 09:58

多端阅读

在PC/MAC上查看《Assembly Language教程》

下载《Assembly Language教程》离线版客户端,进入客户端后通过搜索当前教程手册的名称并下载,就可查看当前离线教程文档。

在移动端查看《Assembly Language教程》

扫一扫或直接访问 https://m.w3cschool.cn/assembly/

在手机APP上查看《Assembly Language教程》

下载w3cschool手机App端,请从各大安卓应用商店、苹果App Store搜索并下载w3cschool手机客户端,在App中搜索当前教程手册的名称查看。

返回w3cschool官网主页

扩展栏目

开发工具IDE

编程训练营

Wiki列表

分类导航

最新推荐

免费Jquery插件合集

前端学习资源汇总

微信小程序资源汇总

Smarty 教程

SEO基础知识教程

Spring 教程

热门教程

Python3 教程

Java 教程

VUE3 教程

微信小程序开发文档

鸿蒙OS开发文档

HTML 教程

C语言教程

C++ 教程

Linux 教程

SQL 教程

PHP 教程

JavaScript 教程

HTML/CSS

HTML 教程

XHTML 教程

HTML5 教程

HTML 参考手册

CSS 教程

CSS3 教程

CSS 参考手册

Less 教程

Sass 教程

JavaScript

JavaScript 教程

HTML DOM 教程

JavaScript 和 HTML DOM 参考手册

JSON 教程

AJAX 教程

jQuery 教程

ES6 中文教程

TypeScript 教程

Node.js 教程

VUE3 教程

Vue.js 2.0 教程

Vue CLI 中文教程

React 教程

AngularJS 教程

Angular13

Highcharts 教程

ECharts 教程

Axios 中文文档

前端框架

Bootstrap4 教程

vue3.0 ElementPlus 中文版教程

Element React 中文文档

Vant 中文教程

Vant3 中文教程

Vant4

后端语言

Python3 教程

Java 教程

PHP 教程

Go 教程

C语言教程

C++ 教程

Kotlin 教程

Node.js 教程

C# 教程

R语言 教程

Ruby 教程

Lua 教程

ASP.NET 教程

Julia 教程

Excel VBA 编程教程

MATLAB 教程

Rust 语言中文版

Swift 教程

开发框架

Servlet 教程

JSP 教程

Spring 教程

Hibernate 教程

MyBatis 3手册

MyBatis-Plus教程

SpringBoot 那些事

jUnit 教程

SWING 教程

Django4 中文教程

Flask 教程

FastAPI 教程

Python Tornado教程

Gin 教程

iris教程

GoFrame教程

Revel 教程

WordPress 教程

数据库

MySQL 教程

Oracle 教程

PostgreSQL 13.1 中文教程

Redis 教程

SQL 教程

MariaDB 教程

SQLite 教程

MS Access 教程

MongoDB 教程

neo4j 教程

Storm 入门教程

Spark 编程指南

移动开发

鸿蒙OS开发文档

微信小程序开发文档

Android 教程

Android SDK 上手指南

iOS 开发手册

jQuery Mobile 教程

React Native 中文文档

uni-app 中文文档

小程序云开发高级教程

小程序云开发学习指南

Flutter 中文文档

Knockout应用开发指南

服务器相关

Linux 教程

Docker 教程

Kubernetes(k8s)手册

Docker 从入门到实践

DOS 命令学习手册

Nginx 入门指南

Shell 编程范例

UNIX 入门指南

Linux就该这么学

开发工具

Visual Studio Code 教程

Sublime Text 使用手册

Atom 教程

Vim 教程

Eclipse 教程

IntelliJ-IDEA中文教程

Git 教程

SVN 教程

Apache Ant 教程

Gradle 教程

Maven 教程

通俗易懂的 Npm 入门教程

Composer 教程

Vite教程

Webpack 中文指南

Flex 教程

Grunt 教程

HBuilder 使用教程

Tableau 教程

Chrome 开发工具指南

Electron 中文文档

正则表达式

Arduino 教程

Verilog手册

大数据

Hadoop 教程

Apache Pig 教程

Apache Kafka 教程

Apache Storm 教程

impala 教程

Zookeeper 教程

SAS 教程

Moralis Web3 企业级API

云数据库OceanBase教程

软件工程

软件工程教程

设计模式

软件测试教程

UML 教程

PHP设计模式

人工智能

Midjourney中文教程

AI人工智能教程

Copyright©2021 w3cschool编程狮|闽ICP备15016281号-3|闽公网安备35020302033924号

违法和不良信息举报电话:173-0602-2364|举报邮箱:jubao@eeedong.com

在线笔记

App下载

扫描二维码

下载编程狮App

公众号

编程狮公众号

意见反馈

意见反馈

X

意见反馈:

联系方式:

提交

查看完整版笔记

保存

关闭

教程纠错

教程纠错

违规举报

X

广告等垃圾信息

不友善内容

违反法律法规的内容

不宜公开讨论的政治内容

其他

提交

齐鲁工业大学高振华

齐鲁工业大学高振华

 

 

 

 

网站首页

|

学部概况

学部介绍

学部领导

机构设置

|

学部新闻

|

学部党建

组织结构

党建动态

制度法规

学习“二十大”精神专题

|

师资情况

高层次人才

教师队伍

团队与导师

|

科学研究

科研方向

科研平台

科研项目

仪器设备

科研成果

国际合作

|

产学研基地

基地建设

校企合作

|

校友之家

校友分会

校友风采

校友活动

校友联络与服务处

|

高振华

发布时间:

2023-11-07

浏览次数:

10

1. 个人情况高振华,教授,泰山学者青年专家,山东省优青,硕士生导师地址:实验南楼202,手机:15866720583E-mail: gaozhenhua@iccas.ac.cn; gaozhenhua@qlu.edu.cn2. 教育工作背景2023.01-至今 齐鲁工业大学(山东省科学院) 教授2018.08-2022.12 齐鲁工业大学(山东省科学院) 副教授2013-2018 中国科学院化学研究所 物理化学专业 理学博士导师:赵永生研究员(国家杰青);姚建年院士2009-2013 青岛大学  高分子材料与工程专业 工学学士3. 研究方向1. 有机/MOFs光电功能材料的可控制备及其自组装行为研究2. 高品质微纳激光器件的可控制备及其受激发射性能研究3. 有机晶态光电功能材料的信息编码及其在防伪、信息加解密等领域中的应用4. 主持参与科研项目有机单片全色微纳激光器的可控构筑及其光学编码研究;国家自然科学基金面上项目,2023-2026,在研,主持智能响应微纳激光器的可控构筑及用于信息存储与加解密的研究;国家自然科学基金青年项目,2020-2022,结题,主持泰山学者青年专家项目,2023-2026,在研,主持有机微纳多色异质结构的可控构筑及其激光性能研究;山东省自然科学优秀青年基金,2022-2024,在研,主持新型有机微纳激光材料与器件中的激发态过程研究;国家基金委重点项目,2016-2020, 参与6. 新型芳香杂稠环体系的聚集体激发态调控和激光性能研究;国家基金委重点项目,2018-2022,参与5. 奖励和荣誉泰山学者青年专家(2023)山东省自然科学优秀青年基金 (2021)2017年度中国光学十大进展 (2018)4. 中科院化学所青年科学奖特别优秀奖 (2018)5. 中国科学院化学研究所所长奖 (2017)6. 代表性论文围绕有机微纳光子学材料与信息编码器件这一前沿交叉方向,做出了具有特色且系统的工作,取得了一系列具有国际领先水平的研究成果。近5年来以第一/通讯作者在国际高水平权威期刊上发表相关研究成果十余篇,包括Angew. Chem. Int. Ed.(5篇), Adv. Mater., Nat. Sci. Rev., ACS Nano (2篇)等国际知名期刊。授权中国发明专利4项。研究工作得到AdvancedScienceNews、WileyChem等学术媒体的广泛报道,其中有机微纳隐藏光子学条形码的研究成果入选“2017年度中国光学十大进展”。(1) X. Feng, R. Lin, S. Yang, Y. Xu, T. Zhang, S. Chen, Y. Ji, Z. Wang, S. Chen, C. Zhu, Zhenhua Gao* and Y. Zhao*. Spatially Resolved Organic Whispering-Gallery-Mode Hetero-Microrings for High-Security Photonic Barcodes.Angew. Chem. Int. Ed,2023, 62, e202310263.(2) S. Yang, X. Feng, B. Xu, R. Lin, Y. Xu, S. Chen, Z. Wang, X. Wang, X. Meng, Zhenhua Gao*. Directional Self-Assembly of Facet-Aligned Organic Hierarchical Super-Heterostructures for Spatially Resolved Photonic Barcodes. ACS Nano, 2023, 17, 6341-6349.(3) Zhenhua Gao,* S. Yang, B. Xu, T. Zhang, S. Chen, W. Zhang, X. Sun, Z. Wang, X. Wang, X. Meng,* Y. S. Zhao*.Laterally Engineering Lanthanide-MOFs Epitaxial Heterostructures for Spatially Resolved Planar 2D Photonic Barcoding, Angew. Chem. Int. Ed,2021, 60, 24519-24525.(4) Zhenhua Gao,* B. Xu, Y. Fan, T. Zhang, S. Chen, S. Yang, W. Zhang, X. Sun, Y. Wei, Z. Wang, X. Wang, X. Meng,* Y. S. Zhao*.Topological-Distortion-Driven Amorphous Spherical Metal-Organic Frameworks for High-Quality Single-Mode Microlasers, Angew. Chem. Int. Ed,2021, 60, 6362-6366.(5) Zhenhua Gao*, B. Xu, T. Zhang, Z. Liu, W. Zhang, X. Sun, Y. Liu, X. Wang, Z. Wang, Y. Yan, F. Hu, X. Meng* and Y. S. Zhao*, Spatially Responsive Multicolor Lanthanide-MOFs Heterostructures for Covert Photonic Barcodes. Angew. Chem. Int. Ed. 2020, 59, 19060-19064.)(6) Zhenhua Gao, C. Wei, Y. Yan,* W. Zhang, H. Dong, J. Zhao, J. Yi, C. Zhang, Y. Li, Y. S. Zhao*, Covert Photonic Barcodes Based on Light ControlledAcidichromism in Organic Dye Doped Whispering-Gallery-Mode Microdisks. Adv. Mater. 2017, 29, 1701558.(7)Zhenhua Gao, K. Wang, Y. Yan*, J. Yao, and Y. S. Zhao*, Smart Responsive Organic Microlasers with Multiple Emission States for High-Security Optical Encryption. Nat. Sci. Rev. 2021, 8, nwaa162.(8) Zhenhua Gao, W. Zhang, Y. Yan,* J. Yi, H. Dong, K. Wang, J. Yao, Y. S. Zhao*, Proton-Controlled Organic Microlaser Switch. ACS Nano, 2018, 12, 5734-5740. (9) Y. Yao,+Zhenhua Gao,+ Y. Lv, X. Lin, Y. Liu, Y. Du, F. Hu*, Y. S. Zhao*. Heteroepitaxial Growth of Multiblock Ln-MOF Microrods for Photonic Barcodes. Angew. Chem. Int. Ed. 2019, 58, 13803-13807. (+Equal Contribution)(10) S. Yang, B. Xu, X. Feng, R. Lin, Y. Xu, S. Chen, Z. Wang, X. Wang, X. Meng, and Zhenhua Gao*, Laterally Engineering Organic Light-Harvesting Monolithic Heterostructures for Spatially Resolved Photonic Barcodes,Chem. Mater. 2023, doi.org/10.1021/acs.chemmater.3c01362.(11) B. Xu, S. Yang, X. Feng, T. Zhang, Zhenhua Gao*, Y. S. Zhao*. Dual-stimuli responsive photonic barcodes based on perovskite quantum dots encapsulated in whispering-gallery-mode microspheres. Journal of Materiomics, 2023, 9, 423-430.(12) B. Xu, Zhenhua Gao,* Y. Wei, Y. Liu, X. Sun, W. Zhang, X. Wang, Z. Wang and X. Meng*, Dynamically wavelength-tunable random lasers based on metal-organic framework particles. Nanoscale, 2020, 12, 4833.(13) B. Xu, Zhenhua Gao,* S. Yang, H. Sun, L. Song, Y. Li, W. Zhang, X. Sun, Z. Wang, X. Wang, X. Meng*, Multicolor Random Lasers Based on Perovskite Quantum Dots Embedded in Intrinsic Pb-MOFs. J. Phys. Chem. C, 2021, 125, 25757-25764.7.发明专利1.一种基于金属-有机框架纳米晶的可控动态调谐随机激光散射材料、激光器件及制备与应用。(授权,201910972794.0)2.球形拓扑结构的非晶态金属有机框架化合物、其作为回音壁式谐振腔的用途及激光器件。(授权,202011382637.3)3. 基于Ln-MOF多色异质结微型智能响应光子防伪条形码材料、器件及制备与应用。(授权,202010253117.6)

版权所有©齐鲁工业大学 山东省济南市西部新城大学科技园 邮编250353 鲁ICP备05046217号

汇编语言入门教程 - 阮一峰的网络日志

汇编语言入门教程 - 阮一峰的网络日志

阮一峰的网络日志 » 首页 » 档案

上一篇:加密货币的本质    

下一篇:Docker 入门教程

分类:

理解计算机

⇐ 

 ⇒

汇编语言入门教程

作者: 阮一峰

日期: 2018年1月21日

学习编程其实就是学高级语言,即那些为人类设计的计算机语言。

但是,计算机不理解高级语言,必须通过编译器转成二进制代码,才能运行。学会高级语言,并不等于理解计算机实际的运行步骤。

计算机真正能够理解的是低级语言,它专门用来控制硬件。汇编语言就是低级语言,直接描述/控制 CPU 的运行。如果你想了解 CPU 到底干了些什么,以及代码的运行步骤,就一定要学习汇编语言。

汇编语言不容易学习,就连简明扼要的介绍都很难找到。下面我尝试写一篇最好懂的汇编语言教程,解释 CPU 如何执行代码。

一、汇编语言是什么?

我们知道,CPU 只负责计算,本身不具备智能。你输入一条指令(instruction),它就运行一次,然后停下来,等待下一条指令。

这些指令都是二进制的,称为操作码(opcode),比如加法指令就是00000011。编译器的作用,就是将高级语言写好的程序,翻译成一条条操作码。

对于人类来说,二进制程序是不可读的,根本看不出来机器干了什么。为了解决可读性的问题,以及偶尔的编辑需求,就诞生了汇编语言。

汇编语言是二进制指令的文本形式,与指令是一一对应的关系。比如,加法指令00000011写成汇编语言就是 ADD。只要还原成二进制,汇编语言就可以被 CPU 直接执行,所以它是最底层的低级语言。

二、来历

最早的时候,编写程序就是手写二进制指令,然后通过各种开关输入计算机,比如要做加法了,就按一下加法开关。后来,发明了纸带打孔机,通过在纸带上打孔,将二进制指令自动输入计算机。

为了解决二进制指令的可读性问题,工程师将那些指令写成了八进制。二进制转八进制是轻而易举的,但是八进制的可读性也不行。很自然地,最后还是用文字表达,加法指令写成 ADD。内存地址也不再直接引用,而是用标签表示。

这样的话,就多出一个步骤,要把这些文字指令翻译成二进制,这个步骤就称为 assembling,完成这个步骤的程序就叫做 assembler。它处理的文本,自然就叫做 aseembly code。标准化以后,称为 assembly language,缩写为 asm,中文译为汇编语言。

每一种 CPU 的机器指令都是不一样的,因此对应的汇编语言也不一样。本文介绍的是目前最常见的 x86 汇编语言,即 Intel 公司的 CPU 使用的那一种。

三、寄存器

学习汇编语言,首先必须了解两个知识点:寄存器和内存模型。

先来看寄存器。CPU 本身只负责运算,不负责储存数据。数据一般都储存在内存之中,CPU 要用的时候就去内存读写数据。但是,CPU 的运算速度远高于内存的读写速度,为了避免被拖慢,CPU 都自带一级缓存和二级缓存。基本上,CPU 缓存可以看作是读写速度较快的内存。

但是,CPU 缓存还是不够快,另外数据在缓存里面的地址是不固定的,CPU 每次读写都要寻址也会拖慢速度。因此,除了缓存之外,CPU 还自带了寄存器(register),用来储存最常用的数据。也就是说,那些最频繁读写的数据(比如循环变量),都会放在寄存器里面,CPU 优先读写寄存器,再由寄存器跟内存交换数据。

寄存器不依靠地址区分数据,而依靠名称。每一个寄存器都有自己的名称,我们告诉 CPU 去具体的哪一个寄存器拿数据,这样的速度是最快的。有人比喻寄存器是 CPU 的零级缓存。

四、寄存器的种类

早期的 x86 CPU 只有8个寄存器,而且每个都有不同的用途。现在的寄存器已经有100多个了,都变成通用寄存器,不特别指定用途了,但是早期寄存器的名字都被保存了下来。

EAX

EBX

ECX

EDX

EDI

ESI

EBP

ESP

上面这8个寄存器之中,前面七个都是通用的。ESP 寄存器有特定用途,保存当前 Stack 的地址(详见下一节)。

我们常常看到 32位 CPU、64位 CPU 这样的名称,其实指的就是寄存器的大小。32 位 CPU 的寄存器大小就是4个字节。

五、内存模型:Heap

寄存器只能存放很少量的数据,大多数时候,CPU 要指挥寄存器,直接跟内存交换数据。所以,除了寄存器,还必须了解内存怎么储存数据。

程序运行的时候,操作系统会给它分配一段内存,用来储存程序和运行产生的数据。这段内存有起始地址和结束地址,比如从0x1000到0x8000,起始地址是较小的那个地址,结束地址是较大的那个地址。

程序运行过程中,对于动态的内存占用请求(比如新建对象,或者使用malloc命令),系统就会从预先分配好的那段内存之中,划出一部分给用户,具体规则是从起始地址开始划分(实际上,起始地址会有一段静态数据,这里忽略)。举例来说,用户要求得到10个字节内存,那么从起始地址0x1000开始给他分配,一直分配到地址0x100A,如果再要求得到22个字节,那么就分配到0x1020。

这种因为用户主动请求而划分出来的内存区域,叫做 Heap(堆)。它由起始地址开始,从低位(地址)向高位(地址)增长。Heap 的一个重要特点就是不会自动消失,必须手动释放,或者由垃圾回收机制来回收。

六、内存模型:Stack

除了 Heap 以外,其他的内存占用叫做 Stack(栈)。简单说,Stack 是由于函数运行而临时占用的内存区域。

请看下面的例子。

int main() {

int a = 2;

int b = 3;

}

上面代码中,系统开始执行main函数时,会为它在内存里面建立一个帧(frame),所有main的内部变量(比如a和b)都保存在这个帧里面。main函数执行结束后,该帧就会被回收,释放所有的内部变量,不再占用空间。

如果函数内部调用了其他函数,会发生什么情况?

int main() {

int a = 2;

int b = 3;

return add_a_and_b(a, b);

}

上面代码中,main函数内部调用了add_a_and_b函数。执行到这一行的时候,系统也会为add_a_and_b新建一个帧,用来储存它的内部变量。也就是说,此时同时存在两个帧:main和add_a_and_b。一般来说,调用栈有多少层,就有多少帧。

等到add_a_and_b运行结束,它的帧就会被回收,系统会回到函数main刚才中断执行的地方,继续往下执行。通过这种机制,就实现了函数的层层调用,并且每一层都能使用自己的本地变量。

所有的帧都存放在 Stack,由于帧是一层层叠加的,所以 Stack 叫做栈。生成新的帧,叫做"入栈",英文是 push;栈的回收叫做"出栈",英文是 pop。Stack 的特点就是,最晚入栈的帧最早出栈(因为最内层的函数调用,最先结束运行),这就叫做"后进先出"的数据结构。每一次函数执行结束,就自动释放一个帧,所有函数执行结束,整个 Stack 就都释放了。

Stack 是由内存区域的结束地址开始,从高位(地址)向低位(地址)分配。比如,内存区域的结束地址是0x8000,第一帧假定是16字节,那么下一次分配的地址就会从0x7FF0开始;第二帧假定需要64字节,那么地址就会移动到0x7FB0。

七、CPU 指令

7.1 一个实例

了解寄存器和内存模型以后,就可以来看汇编语言到底是什么了。下面是一个简单的程序example.c。

int add_a_and_b(int a, int b) {

return a + b;

}

int main() {

return add_a_and_b(2, 3);

}

gcc 将这个程序转成汇编语言。

$ gcc -S example.c

上面的命令执行以后,会生成一个文本文件example.s,里面就是汇编语言,包含了几十行指令。这么说吧,一个高级语言的简单操作,底层可能由几个,甚至几十个 CPU 指令构成。CPU 依次执行这些指令,完成这一步操作。

example.s经过简化以后,大概是下面的样子。

_add_a_and_b:

push %ebx

mov %eax, [%esp+8]

mov %ebx, [%esp+12]

add %eax, %ebx

pop %ebx

ret

_main:

push 3

push 2

call _add_a_and_b

add %esp, 8

ret

可以看到,原程序的两个函数add_a_and_b和main,对应两个标签_add_a_and_b和_main。每个标签里面是该函数所转成的 CPU 运行流程。

每一行就是 CPU 执行的一次操作。它又分成两部分,就以其中一行为例。

push %ebx

这一行里面,push是 CPU 指令,%ebx是该指令要用到的运算子。一个 CPU 指令可以有零个到多个运算子。

下面我就一行一行讲解这个汇编程序,建议读者最好把这个程序,在另一个窗口拷贝一份,省得阅读的时候再把页面滚动上来。

7.2 push 指令

根据约定,程序从_main标签开始执行,这时会在 Stack 上为main建立一个帧,并将 Stack 所指向的地址,写入 ESP 寄存器。后面如果有数据要写入main这个帧,就会写在 ESP 寄存器所保存的地址。

然后,开始执行第一行代码。

push 3

push指令用于将运算子放入 Stack,这里就是将3写入main这个帧。

虽然看上去很简单,push指令其实有一个前置操作。它会先取出 ESP 寄存器里面的地址,将其减去4个字节,然后将新地址写入 ESP 寄存器。使用减法是因为 Stack 从高位向低位发展,4个字节则是因为3的类型是int,占用4个字节。得到新地址以后, 3 就会写入这个地址开始的四个字节。

push 2

第二行也是一样,push指令将2写入main这个帧,位置紧贴着前面写入的3。这时,ESP 寄存器会再减去 4个字节(累计减去8)。

7.3 call 指令

第三行的call指令用来调用函数。

call _add_a_and_b

上面的代码表示调用add_a_and_b函数。这时,程序就会去找_add_a_and_b标签,并为该函数建立一个新的帧。

下面就开始执行_add_a_and_b的代码。

push %ebx

这一行表示将 EBX 寄存器里面的值,写入_add_a_and_b这个帧。这是因为后面要用到这个寄存器,就先把里面的值取出来,用完后再写回去。

这时,push指令会再将 ESP 寄存器里面的地址减去4个字节(累计减去12)。

7.4 mov 指令

mov指令用于将一个值写入某个寄存器。

mov %eax, [%esp+8]

这一行代码表示,先将 ESP 寄存器里面的地址加上8个字节,得到一个新的地址,然后按照这个地址在 Stack 取出数据。根据前面的步骤,可以推算出这里取出的是2,再将2写入 EAX 寄存器。

下一行代码也是干同样的事情。

mov %ebx, [%esp+12]

上面的代码将 ESP 寄存器的值加12个字节,再按照这个地址在 Stack 取出数据,这次取出的是3,将其写入 EBX 寄存器。

7.5 add 指令

add指令用于将两个运算子相加,并将结果写入第一个运算子。

add %eax, %ebx

上面的代码将 EAX 寄存器的值(即2)加上 EBX 寄存器的值(即3),得到结果5,再将这个结果写入第一个运算子 EAX 寄存器。

7.6 pop 指令

pop指令用于取出 Stack 最近一个写入的值(即最低位地址的值),并将这个值写入运算子指定的位置。

pop %ebx

上面的代码表示,取出 Stack 最近写入的值(即 EBX 寄存器的原始值),再将这个值写回 EBX 寄存器(因为加法已经做完了,EBX 寄存器用不到了)。

注意,pop指令还会将 ESP 寄存器里面的地址加4,即回收4个字节。

7.7 ret 指令

ret指令用于终止当前函数的执行,将运行权交还给上层函数。也就是,当前函数的帧将被回收。

ret

可以看到,该指令没有运算子。

随着add_a_and_b函数终止执行,系统就回到刚才main函数中断的地方,继续往下执行。

add %esp, 8

上面的代码表示,将 ESP 寄存器里面的地址,手动加上8个字节,再写回 ESP 寄存器。这是因为 ESP 寄存器的是 Stack 的写入开始地址,前面的pop操作已经回收了4个字节,这里再回收8个字节,等于全部回收。

ret

最后,main函数运行结束,ret指令退出程序执行。

八、参考链接

Introduction to reverse engineering and Assembly, by Youness Alaoui

x86 Assembly Guide, by University of Virginia Computer Science

(完)

文档信息

版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)

发表日期: 2018年1月21日

相关文章

2022.08.02: DNS 查询原理详解

通过 DNS 查询,得到域名的 IP 地址,才能访问网站。

2022.06.03: 字节序探析:大端与小端的比较

今天谈谈一个重要的计算机概念,大家可能都听说过它,但是很少深究,那就是字节序(Endianness)。

2022.02.04: 万兆家庭网络的时代

最近,我想将家里的网络设备,都升级到千兆。

2021.12.07: 为什么 Web3 与区块链有关

互联网迄今有两个阶段:Web 1.0 和 Web 2.0。

留言(137条)

zhiyang

说:

以前在学校的时候看过王爽的汇编语言第二版,那个时候还是很喜欢一些偏底层的东西的,计算机原理等书。现在接触到高级语言之后就全忘了。。。

2018年1月21日 19:40

| #

| 引用

zeon

说:

阮老师JS的闭包是不是在栈中的内存占用不回收呢?会一直占用?还是说闭包的空间是v8申请的椎的空间?

2018年1月21日 20:25

| #

| 引用

kailin’

说:

平时接触不到这些细节,但非常喜欢这方面的知识,恳请阮老师推荐一些这方面的权威书籍。;)

2018年1月21日 22:23

| #

| 引用

匿名

说:

感谢分享

2018年1月22日 02:09

| #

| 引用

jimmy

说:

为什么我们用到EBX就push EBX,而用到EAX却没push EAX呢?

2018年1月22日 08:01

| #

| 引用

阮一峰

说:

@jimmy

我的理解是 EAX 属于最频繁使用的通用寄存器,所以约定没有必要保留它的值。

2018年1月22日 09:36

| #

| 引用

阮一峰

说:

@kailin:参考链接里面,我已经提供了两篇文章。

@zeon:是的,闭包属于 Stack 里面的帧不回收,详见 https://blog.sessionstack.com/how-javascript-works-memory-management-how-to-handle-4-common-memory-leaks-3f28b94cfbec

2018年1月22日 09:38

| #

| 引用

Not

说:

基本的点都讲到了,但不是计算机专业的读者估计还是会有点懵,建议结合下内存总线和硬件指令的电路原理。

2018年1月22日 09:41

| #

| 引用

guge

说:

关注阮大有一阵时间了,从来没留过言,刚好最近在重新看王爽的《汇编语言》,没想到阮大最近发布了这篇文章,必须手动来赞了!

2018年1月22日 10:17

| #

| 引用

阮老师小迷弟

说:

阮老师牛逼!阮老师,这个汇编语言现在市场上一般企业这方面人的需求不大吧?

2018年1月22日 10:31

| #

| 引用

张春星

说:

== 它会先取出 ESP 寄存器里面的地址,将其减去4个字节,然后将新地址写入 ESP 寄存器。使用减法是因为 Stack 从高位向低位发展,4个字节则是因为3的类型是int,占用4个字节。得到新地址以后, 3 就会写入这个地址开始的四个字节。==

这个地方不懂啊

2018年1月22日 10:58

| #

| 引用

bluestonechina

说:

引用jimmy的发言:

为什么我们用到EBX就push EBX,而用到EAX却没push EAX呢?

EAX用于保存返回值,这个值肯定会被覆盖,所以需要调用着保存。

rbx,rbp,r12-r15是被调用着保存寄存器,如果被调用着需要使用,就需要压入stack中。

其他寄存器是调用者保存寄存器,调用者如果需要调用前后这些值保持一致,则需要自己保存起来

2018年1月22日 11:41

| #

| 引用

lybvinci

说:

可以看看 小甲鱼的汇编教程视频

2018年1月22日 12:04

| #

| 引用

lnyas

说:

intel格式的汇编寄存器之前不用加%吧

2018年1月22日 12:41

| #

| 引用

spark

说:

.section __TEXT,__text,regular,pure_instructions

.macosx_version_min 10, 13

.globl _add_a_b

.p2align 4, 0x90

_add_a_b: ## @add_a_b

.cfi_startproc

## BB#0:

pushq %rbp

Lcfi0:

.cfi_def_cfa_offset 16

Lcfi1:

.cfi_offset %rbp, -16

movq %rsp, %rbp

Lcfi2:

.cfi_def_cfa_register %rbp

movl %edi, -4(%rbp)

movl %esi, -8(%rbp)

movl -4(%rbp), %esi

addl -8(%rbp), %esi

movl %esi, %eax

popq %rbp

retq

.cfi_endproc

.globl _main

.p2align 4, 0x90

_main: ## @main

.cfi_startproc

## BB#0:

pushq %rbp

Lcfi3:

.cfi_def_cfa_offset 16

Lcfi4:

.cfi_offset %rbp, -16

movq %rsp, %rbp

Lcfi5:

.cfi_def_cfa_register %rbp

subq $16, %rsp

movl $1, %edi

movl $2, %esi

movl $0, -4(%rbp)

callq _add_a_b

addq $16, %rsp

popq %rbp

retq

.cfi_endproc

2018年1月22日 13:24

| #

| 引用

xxxx

说:

引用阮老师小迷弟的发言:

阮老师牛逼!阮老师,这个汇编语言现在市场上一般企业这方面人的需求不大吧?

一般开发中确实用不到,也很少有人会用到汇编去做开发。但是如果你不了解汇编,就没有办法真正了解Java虚拟机中的各种概念。只有真正学习过汇编的人,才能真正理解各种概念

2018年1月22日 15:27

| #

| 引用

YY

说:

引用xxxx的发言:

一般开发中确实用不到,也很少有人会用到汇编去做开发。但是如果你不了解汇编,就没有办法真正了解Java虚拟机中的各种概念。只有真正学习过汇编的人,才能真正理解各种概念

不用理解JAVA虚拟机的概念。造汽车的人,无需了解钢铁是如何炼成的。

很多技术是层叠的,做顶层业务的,是需也不太可能将所有底层技术进行追溯学习的。

2018年1月22日 16:41

| #

| 引用

白菜

说:

0xFFFF0010(_main+16)这里指的是为_add_a_and_b建立的帧吗?也是占4个字节吗?那_main+16又是指什么?

2018年1月22日 17:41

| #

| 引用

Timothy

说:

一个汇编指令对应的机器码不一定只有一个。比如,汇编器会根据mov后面的操作数将mov翻译成不同的机器码。以前一直想不明白,后来终于在依照51单片机手册用C写模拟器时弄明白了。同时也知道了寄存器A、AX、EAX、RAX。

个人还是觉得看看CMU的CSAPP对计算机入门很有帮助,不论平时工作是做哪方面的开发:JS,PHP,Python,Bash,Java,C-like(如果书里的入门内容都不会,估计也做不了C-like开发)。

2018年1月22日 18:22

| #

| 引用

ixx

说:

当初学汇编,被指令搞的头晕眼花的,习惯了又发现还有32位64位的坑。。

2018年1月22日 18:37

| #

| 引用

Raymond Cheng

说:

看完阮老師的文章另我想起很久以前做出版時經常出現 postscript 錯誤 stack overflow,

萬分感謝阮老師分享,另我了解底層技術!

2018年1月22日 23:02

| #

| 引用

rednax

说:

为什么一提汇编就要上x86的汇编呢……x86汇编很麻烦的……

比如我一开始用的汇编就是PS2的CPU(EE)的MIPS汇编,觉得真是简单清晰啊……

2018年1月23日 05:49

| #

| 引用

mess

说:

全部忘记了,就像失忆一样。

2018年1月23日 09:33

| #

| 引用

学了个江

说:

引用阮老师小迷弟的发言:

阮老师牛逼!阮老师,这个汇编语言现在市场上一般企业这方面人的需求不大吧?

基础扎实了,什么高级语言搞不定!

2018年1月23日 09:34

| #

| 引用

立猛

说:

intel 格式汇编没有% AT&T 汇编有% 但是格式和intel 相反

2018年1月23日 20:09

| #

| 引用

szpzs

说:

通俗易懂。阮老师带我们轻松复习了一遍丢掉好久的知识。:-)

2018年1月24日 08:18

| #

| 引用

Victor

说:

讲解生动,十分感人,Heap和Stack百度搜过N多次,这是第一次看到结合‘堆’、‘栈’语义的简单解释,非常好,以后应该都能记住了。

赞 赞 赞

2018年1月24日 09:49

| #

| 引用

zhanghang

说:

计算机组成原理...今年刚考完...汗

2018年1月24日 12:52

| #

| 引用

阮老师的小粉丝

说:

我请教一个问题,如文中所述:比如,内存区域的结束地址是0x8000,第一帧假定是16字节,那么下一次分配的地址就会从0x7FF0开始;第二帧假定需要64字节,那么地址就会移动到0x7FB0。

我想知道是怎样分配每一帧的大小呢,比如_add_a_and_b:,我该怎样知道分配多少内存给这一帧呢?

2018年1月25日 09:59

| #

| 引用

oreak

说:

AT&T 汇编,感觉更舒服,而且目前unix linux 系列支撑

2018年1月25日 14:51

| #

| 引用

gle

说:

引用阮老师的小粉丝的发言:

我请教一个问题,如文中所述:比如,内存区域的结束地址是0x8000,第一帧假定是16字节,那么下一次分配的地址就会从0x7FF0开始;第二帧假定需要64字节,那么地址就会移动到0x7FB0。

我想知道是怎样分配每一帧的大小呢,比如_add_a_and_b:,我该怎样知道分配多少内存给这一帧呢?

C语言的数据类型都有大小。编译器可以根据函数内定义的所有局部变量(其实真实情况更复杂一些,还有static,const等修饰符会影响),一次性“分配”出相应数量的内存(就是将sp的值减去相应的大小)。函数返回时,会先清理掉自己的局部变量(用leave把bp恢复到sp),再将sp所指地址的内容恢复到bp,然后ret。阮老文章里的例子过于简单,有些指令没用上。

P.S.

汇编指令也是会分成几个步骤执行(所谓的指令周期,机器周期,时钟周期),所以如果有说错或不清楚的地方,勿喷,多包涵。

2018年1月25日 15:21

| #

| 引用

alexsaurora

说:

请教您一个问题,Heap是先进先出的吗?我在StackOverflow上看到的是Heap没有一个明确的顶,所以它可以随时进入和出去。

2018年1月25日 15:42

| #

| 引用

gle

说:

引用alexsaurora的发言:

请教您一个问题,Heap是先进先出的吗?我在StackOverflow上看到的是Heap没有一个明确的顶,所以它可以随时进入和出去。

堆栈,堆栈,堆是堆,栈是栈。

(信号是信号,信号量是信号量,一个是signal,一个是semaphore。回想起了好些迷惑的术语翻译)

=======

进程中heap跟在data区域的后面(请参考任何一个进程的maps)。heap所占用的内存是C库调用brk系统调用向操作系统(暂时不考虑Windows)申请的(详细内容可以man brk家族的文档),操作系统只是维护brk的位置,C库会负责管理申请到的内存。

以前debug segfault时,看过Android的malloc实现,其实就是Doug Lea的dlmalloc(wiki有详细介绍,Android源码也可以随便看)。dlmalloc会根据程序的需求将操作系统给的连续内存分成内存块,每个块的头部保存着大小、是否已分配等信息。块是内存对齐的,相邻块是紧挨着的(因此,可以合并)。当代码调用malloc时,malloc会查找满足需求的块,如果找不到,就会再次调用brk向操作系统申请。当代码调用free时,free会更新块头部的信息,可能还会把相邻的空闲块合并,组成更大的块。

实际情况比描述的要复杂,并且也有其他实现方式。dlmalloc的数据结构和扩展分区的结构很类似。从第一个块开始捋,顺藤摸瓜,就可以遍历所有块。我嘴比较笨,描述不清楚,网上有很多形象的图片可以看。

2018年1月25日 18:22

| #

| 引用

Yummy

说:

感谢分享,学过微机原理,没用上

2018年1月26日 17:17

| #

| 引用

小调用

说:

引用zeon的发言:

阮老师JS的闭包是不是在栈中的内存占用不回收呢?会一直占用?还是说闭包的空间是v8申请的椎的空间?

JS里的闭包,都是在堆中申请的,由GC管理,不是这里的栈,“JS栈”与汇编或C语言中的栈是两个概念。汇编栈不存在GC,由函数调用与返回来自动更新SP指针实现的。JS函数与这儿的函数是两种东西。

2018年1月28日 17:49

| #

| 引用

邹振忠

说:

忘的差不多了。

2018年1月29日 12:19

| #

| 引用

_4NK4

说:

这一句话是错误的:“32 位 CPU 的寄存器大小就是4个字节”。32位CPU容量是可拓展的,可修正为32位CPU的的最大寻址范围是4G。

2018年1月30日 09:41

| #

| 引用

业余草

说:

阮老师好像有10天的时间没更新文章了!

2018年1月31日 10:21

| #

| 引用

张宇

说:

阮老师,您好,我是将在今年毕业的一名大学生,对前端很感兴趣,希望你能给我学习前端的建议的大概方向书籍网站资源等。我看过了你的JavaScript标准参考教程,觉得写得很通俗易懂。希望您能看到,等待您的宝贵建议。

2018年2月 1日 16:26

| #

| 引用

monster

说:

想知道这个留言系统

2018年2月 2日 09:46

| #

| 引用

Geomatic

说:

引用jimmy的发言:

为什么我们用到EBX就push EBX,而用到EAX却没push EAX呢?

好久没看汇编,忘得差不多了。

好像是eax里面一般保存的是返回值,所以执行过程中ebx寄存器需要先把内容压栈,

使用完恢复,eax则不用,因为最终的返回值就在里面。

2018年2月 2日 18:11

| #

| 引用

Geomatic

说:

引用张春星的发言:

== 它会先取出 ESP 寄存器里面的地址,将其减去4个字节,然后将新地址写入 ESP 寄存器。使用减法是因为 Stack 从高位向低位发展,4个字节则是因为3的类型是int,占用4个字节。得到新地址以后, 3 就会写入这个地址开始的四个字节。==

这个地方不懂啊

ESP始终指向栈顶,栈从高地址向低地址增长,push 2,push 3分别把两个

参数压入栈中,此时的栈顶的指针因为压入两个4字节的Int类型,指向初始地址

减8的内存单元,然后函数调用返回后,add esp,8就是直接设置esp指向的位置,

进行加8操作后,栈顶指针回到函数调用前的位置,这个叫栈平衡,然后好像是intel,

还是windowis,他们的编译器规定函数调用,由调用者恢复栈平衡,所以最后是main函数部分做加8这个操作。

2018年2月 2日 18:18

| #

| 引用

王念一

说:

那,printf 那种的函数会被编译成什么呢?

2018年2月 4日 23:18

| #

| 引用

hjs

说:

引用zeon的发言:

阮老师JS的闭包是不是在栈中的内存占用不回收呢?会一直占用?还是说闭包的空间是v8申请的椎的空间?

建议了解浏览器内存回收机制。闭包是因为一直保持引用关系,所以不会被回收

2018年2月 5日 09:38

| #

| 引用

Aaron

说:

阮老师的文章很赞

2018年2月 6日 17:15

| #

| 引用

烽火

说:

引用zhanghang的发言:

计算机组成原理...今年刚考完...汗

你好,可能理解力不够。我还是没看懂的一点是,汇编语言只是二进制的文本形式,那最后计算机是直接识别运行这个汇编代码吗?感觉还差一步,就是汇编语言 -> 机器码

2018年2月 6日 17:54

| #

| 引用

王刚

说:

为啥称呼为x86

2018年2月 7日 21:51

| #

| 引用

Silen

说:

mov %eax, [%esp+8]

mov %ebx, [%esp+12]

怎么感觉应该是

mov %eax, [%esp+4]

mov %ebx, [%esp+8]

2018年2月 8日 01:24

| #

| 引用

rus

说:

引用Silen的发言:

mov%eax, [%esp+8]

mov%ebx, [%esp+12]

怎么感觉应该是

mov%eax, [%esp+4]

mov%ebx, [%esp+8]

同问,比较疑惑,如果push写入栈时是从低位开始写,那读取应该也是从低位开始读吧?那地址应该是

[%esp+4](取到2),

[%esp+8](取到3)

这样吧?

2018年2月 8日 17:57

| #

| 引用

GD

说:

引用rus的发言:

同问,比较疑惑,如果push写入栈时是从低位开始写,那读取应该也是从低位开始读吧?那地址应该是

[%esp+4](取到2),

[%esp+8](取到3)

这样吧?

%ebx 占了4个字节

2 本身占了4个字节

读取数据时得返回到数据开始的位置

是这样吧?

2018年2月 8日 23:43

| #

| 引用

小情

说:

阮大写的很好,非计算机专业的我也能理解,很缺乏这方面知识,看完学会了很多,感谢.

2018年2月11日 00:18

| #

| 引用

amenzai

说:

阮大佬写的东西总是那么通俗易懂

在这不光学到了知识,平常写文章的思路也清晰了

-.-

2018年2月27日 13:30

| #

| 引用

Alex

说:

大神

量子计算机的底层语言方面的能来一篇么。

2018年3月 4日 09:41

| #

| 引用

v

说:

"得到结果5,再将这个结果写入第一个运算子 EAX 寄存器"

结果是如何返回的呢?阮老师。感觉EBX寄存器被临时拿来用恢复原样,但EAX寄存器存的固定的是内存全部回收后返回值么?

2018年3月 8日 11:25

| #

| 引用

William_ch

说:

引用GD的发言:

%ebx 占了4个字节

2本身占了4个字节

读取数据时得返回到数据开始的位置

是这样吧?

[%esp]--> %ebx

[%esp+4] --> call 语句的下一条指令的地址

[%esp+8] --> 第一个参数

[%esp+12] --> 第二个参数

正是因为[%esp+4] 是call 语句的下一条指令地址,才会有Stack OverFlow。

2018年3月 8日 17:13

| #

| 引用

ssw

说:

期待下一讲。百度一大堆教程,没几个看得懂的,而且头疼。

阮老师这一讲精彩,期待更多内容

2018年3月10日 20:47

| #

| 引用

牛强

说:

引用kailin’的发言:

平时接触不到这些细节,但非常喜欢这方面的知识,恳请阮老师推荐一些这方面的权威书籍。;)

https://item.jd.com/12006637.html 可以看这本书

2018年3月14日 12:02

| #

| 引用

Loop

说:

阮老师,我正在学汇编,突然看到这篇文章让我对汇编又有了更深的理解。但是我发现老师你文中的汇编代码是 Intel 风格和 AT&T 风格的混用体

2018年3月19日 15:32

| #

| 引用

a14907

说:

同问,

mov%eax, [%esp+8]

mov%ebx, [%esp+12]

为什么不是

mov%eax, [%esp+4]

mov%ebx, [%esp+8]

2018年3月27日 16:39

| #

| 引用

Leon

说:

看了很多文章都不太通透,当然现在还是不太通透,但比过去好太多了,老师的讲解的很细致,非常感谢。

2018年3月27日 20:54

| #

| 引用

韩世锋

说:

楼主写的太好了,简单易懂,高人。

2018年3月29日 10:16

| #

| 引用

迪伦

说:

举例来说,用户要求得到10个字节内存,那么从起始地址0x1000开始给他分配,一直分配到地址0x100A,如果再要求得到22个字节,那么就分配到0x1020

这里没看懂,22个字节不是应该分配到0x1016吗?,我感觉32个字节才应该是0x1020

2018年3月30日 01:18

| #

| 引用

迪伦

说:

六、内存模型:Stack

这里也不太懂后进先出,main和add_a_and_b,我觉得后进栈的应该是add_a and b,那么先出的也应该是它,但是从图看感觉是main先完成的,然后再进行的add_a and b,这里就很懵了,希望大哥们指点迷津

2018年3月30日 01:34

| #

| 引用

说:

写的很不错

2018年4月 8日 19:59

| #

| 引用

Eric Cui

说:

引用William_ch的发言:

[%esp]--> %ebx

[%esp+4] --> call 语句的下一条指令的地址

[%esp+8] --> 第一个参数

[%esp+12] --> 第二个参数

正是因为[%esp+4] 是call 语句的下一条指令地址,才会有Stack OverFlow。

我理解其实应该是因为+4的位置放了一条函数指针,也就是返回main函数的入口,指针存放的是地址,大小4字节,所以数据2和3对应的是+8和+12,不知道这样理解是否正确,还请指正,谢谢~

2018年4月12日 10:08

| #

| 引用

shine

说:

有点疑问:

push %ebx

mov %eax, [%esp+8]

mov %ebx, [%esp+12]

这里ebx存的是什么?是push esp的那两个参数吗?

那在函数_add_a_and_b下

mov %eax, [%esp+8] 和

mov %ebx, [%esp+12] 为什么不是减少地址而是加?

2018年4月13日 12:18

| #

| 引用

Lee

说:

引用shine的发言:

有点疑问:

push %ebx

mov%eax, [%esp+8]

mov%ebx, [%esp+12]

这里ebx存的是什么?是push esp的那两个参数吗?

那在函数_add_a_and_b下

mov%eax, [%esp+8] 和

mov%ebx, [%esp+12] 为什么不是减少地址而是加?

ebx原来保存的数据先取出来,防止原数据被覆盖;

加是因为栈区是从高位地址开始分配,esp当前保存的总是低地址

2018年4月25日 11:31

| #

| 引用

嘉汇

说:

关于+4 +8的,我觉得其实其中还有一块存放着上一个函数的return地址(32位地址占4个) 所以是+8去取参数2的开头地址。

2018年5月 6日 22:10

| #

| 引用

mnikn

说:

请教一下这些图片是用什么软件画出来的?

2018年5月30日 15:44

| #

| 引用

说:

阮老师讲的很通俗易懂,思路清晰,我一个计算机原理小白都看的一知半解的了,希望以后有更多这样的文章

2018年6月 1日 16:58

| #

| 引用

阿宝

说:

从零学汇编,只有会这方面的人才懂得我这份热情

2018年6月11日 13:12

| #

| 引用

Singu

说:

引用阮一峰的发言:

@jimmy

我的理解是 EAX 属于最频繁使用的通用寄存器,所以约定没有必要保留它的值。

哈哈,我觉得是因为程序中的return,假设把原程序修改一下,改成:

int add_a_and_b(int a, int b) {

return a + b;

}

int main() {

return add_a_and_b(2, 3) + 3; // 修改此处代码

}

那么,在_add_a_and_b函数返回时,就不需要再从内存中取出结果了,直接把后面累加的3存到EBX中,然后执行add %eax, %ebx即可。

这样就少了一次从内存中取出数据的操作(可能还有存入内存的操作)。

2018年6月11日 17:58

| #

| 引用

Singu

说:

第一个问题:

为什么Stack要设计成从高位到低位?

这样做,每次向Stack内执行push的时候,ESP都要执行减法操作,这样性能难道比"从低位到高

位,每次执行加法操作"更好?

还是说,因为为了读取数据的时候执行加法( [%esp+8] )而做出的优化?

第二个问题:

计算机是怎么知道3存在0x0000到0x0004之间,2存在0x0005到0x0008之间?

毕竟ESP只是记住了当前Stack所存储的数据的最低位地址!

难道是写死在程序里的?就像例子中的

mov %eax, [%esp+8]

mov %ebx, [%esp+12]

一样,程序已经写死了偏移量?

如果我的问题描述不够明确,您可以通过邮箱联系我,这两个问题我很想知道

2018年6月11日 18:19

| #

| 引用

王天脑

说:

讲得真好! 不过,语句讲得太少了。

2018年6月21日 16:17

| #

| 引用

webxiaohua

说:

棒,看了很多讲解汇编原理的,大都晦涩难懂,唯有这篇看了以后令人茅塞顿开

2018年7月19日 00:43

| #

| 引用

kimika

说:

我想请问一下为什么我的GCC编译出来的汇编指令全是movl popq 以及.cfi_startproc之类的很复杂的指令,与老师的大不相同?

2018年7月21日 00:11

| #

| 引用

xxx

说:

引用kimika的发言:

我想请问一下为什么我的GCC编译出来的汇编指令全是movl popq 以及.cfi_startproc之类的很复杂的指令,与老师的大不相同?

因为你用的是64位的(q代表以4字节为单位操作),必需在gcc后面加个“-m32”

2018年7月24日 23:46

| #

| 引用

wyf

说:

原来留言不可以超过1200字……我只好分开发了……

(↑↑↑上面的xxx其实也是我……)

只能说阮老师简化得太多了,我表示很遗憾……

那我尽量讲清楚吧

开始写这个已经半夜了……如果以上有错误其实很正常,请立即指出但要多多包涵。

引用Singu的发言:

第一个问题:

为什么Stack要设计成从高位到低位?

这样做,每次向Stack内执行push的时候,ESP都要执行减法操作,这样性能难道比"从低位

到高

位,每次执行加法操作"更好?

还是说,因为为了读取数据的时候执行加法( [%esp+8] )而做出的优化?

第二个问题:

计算机是怎么知道3存在0x0000到0x0004之间,2存在0x0005到0x0008之间?

毕竟ESP只是记住了当前Stack所存储的数据的最低位地址!

难道是写死在程序里的?就像例子中的

mov%eax, [%esp+8]

mov%ebx, [%esp+12]

一样,程序已经写死了偏移量?

如果我的问题描述不够明确,您可以通过邮箱联系我,这两个问题我很想知道

这两个问题被问了很多遍啊……我想解决它……

能一起提出这两个问题的人很厉害啊,因为这两个问题是相互关联的!!!

2018年7月25日 01:30

| #

| 引用

wyf

说:

以32位x86为例:

信息1. call [addr]等价于push %eip加jmp [addr],无非%eip是不能直接操作的(就是说

push %eip是无效指令)

(注:%eip是存储下一条指令地址的寄存器)

信息2. push [data]等价于sub sizeof(data),%esp加mov [data],[%esp],也就是说,在

push时%esp只能减小,这是历史遗留问题……(你要自己设计cpu当然可以定义为增加)

信息3. ret(无参)等价于pop %eip(有跳转效果,因为直接修改%eip相当于跳转,jmp指

令内部原理就是修改%eip)

信息4. 对于现代32位x86,正确(完整且没经过优化的)函数应该大概长这样:

// gcc -S test.cpp -o test.s -m32 (64位机器一定要加-m32,指定使用32位

void foo(int,int);

int test() {

int a = 3;

int b = 2;

foo(2,3);

foo(a,b);

return 999;

}

(注:这是真实的gcc输出)

(详见下一条)

2018年7月25日 01:30

| #

| 引用

wyf

说:

__Z4testv:(使用一般调用协议,详情请查询“ABI”,有历史遗留问题

)

pushl %ebp(保存调用者设置的%ebp)

movl %esp, %ebp(保存调用者设置的%esp)

(注意:调用者的%esp被保存%ebp里,以上两句指令可以缩写为enter,

这是另一个指令)

(从此以后%ebp成为栈空间寻址的基准,因此%ebp全称为(扩展)基址指

针寄存器)

(问:根据信息1和2,在%ebp - 4上的是什么东西?)

(答:返回地址)

(问:那么在%ebp - 8上的是什么东西?)

(答:保存的%esp)

(问:那么,在%ebp上的是什么东西?)

(答:不知道~这个地址原则上不可以访问,它属于调

用者的栈空间)

(问:那么%ebp - 12呢?)

(答:变量a,见下)

subl $40, %esp(为call预留%esp,也就是栈空间,共计40字节,由

编译器计算得)

(这个40很复杂,用于保存局部变量、传出的参数等,不展开,因为这个

由编译器决定)

(40字节不是都被使用了,因为我们并没有开优化,你能否计算出有多少

字节没被使用?)

(答:有16字节被浪费了,16=40-8-sizeof(a)-sizeof(b)-

sizeof(传出参数消耗的栈),详情见下)

movl $3, -12(%ebp)(预留了就可以使用这种方法保存变量,这个相当于int a

= 3)

movl $2, -16(%ebp)(相当于int b = 2,具体地址由编译器分配

(还没完,见下一条)

2018年7月25日 01:31

| #

| 引用

wyf

说:

movl $3, 4(%esp)(这里还是被编译器优化过了,相当于

push %eax,见信息2,mov比push快,无非栈空间必需够大)

(注:别忘了esp=ebp-40)

movl $2, (%esp)(所以这两句话相当于先push $3,再push $2)

call __Z3fooii(干一点其他事情,不用管栈空间变量,因为栈空间比%esp地

址高,被保护)

movl -16(%ebp), %eax(先从栈空间加载数据到%eax寄存器)

movl %eax, 4(%esp)(再把%eax里的数据转入%esp,因为mov指令一次只能操作

一个单位的内存)

(拓展:局部变量的赋值如果不开优化也是类似这么写的)

movl -12(%ebp), %eax

movl %eax, (%esp)

call __Z3fooii

movl $999, %eax (设置返回值,返回值存在%eax里,历史遗留问题)

leave (恢复调用者的%ebp和%esp,这句指令也有另一种写法,大家可以思考一下

ret (真正的返回,思考:根据信息3,为什么这样用是安全的,栈不是被动过了

吗?)

ps: 是不是觉得编译器超强大(我还没开优化呢……)

ps: 软件底层概念超多,极耗脑力,还有极多历史遗留问题,这种问题真的很难一次性给答

案……我已经尽力了,打字打的我累死

2018年7月25日 01:32

| #

| 引用

wyf

说:

其实我觉得阮老师对汇编的掌握也不够多(或许只是文章篇幅太短?)同学们别问了……(阮老师要再想写这方面的文章,讲真的可以联系我)

(我发的东西格式是不是出了点问题……)

2018年7月25日 01:38

| #

| 引用

芮佳蕾

说:

有一个疑问,esp寄存器中存放的函数的地址是起始地址和结束地址还是只是结束地址呢?不好意思哦,可能问题有点白痴。

2018年8月 5日 23:49

| #

| 引用

齐军

说:

引用Singu的发言:

第一个问题:

为什么Stack要设计成从高位到低位?

这样做,每次向Stack内执行push的时候,ESP都要执行减法操作,这样性能难道比"从低位到高

位,每次执行加法操作"更好?

还是说,因为为了读取数据的时候执行加法( [%esp+8] )而做出的优化?

第二个问题:

计算机是怎么知道3存在0x0000到0x0004之间,2存在0x0005到0x0008之间?

毕竟ESP只是记住了当前Stack所存储的数据的最低位地址!

难道是写死在程序里的?就像例子中的

mov%eax, [%esp+8]

mov%ebx, [%esp+12]

一样,程序已经写死了偏移量?

如果我的问题描述不够明确,您可以通过邮箱联系我,这两个问题我很想知道

第一个问题, 因为heap从低到高分配性能高,stack只能从高到低喽,地址两头往中间拱,空间利用率高啊

第二个问题, 什么偏移量,什么写死,32位系统,除8,就是4啊

个人理解,欢迎拍

2018年9月20日 11:20

| #

| 引用

0x9093

说:

写得真好,期待第二课

2018年9月21日 17:04

| #

| 引用

Andy

说:

确实学到知识了,谢谢~

2018年9月30日 10:17

| #

| 引用

Dennis

说:

引用齐军的发言:

第二个问题, 什么偏移量,什么写死,32位系统,除8,就是4啊

第二个问题,我觉得是编译器写死的

2018年10月 9日 13:50

| #

| 引用

28

说:

太感谢了,前段时间想学汇编,看朱邦复老先生的《组合语言的艺术》,看不太懂,他还推荐《ZEN of Assembly Language》

2018年10月16日 19:39

| #

| 引用

PDF

说:

引用阮一峰的发言:

@jimmy

我的理解是 EAX 属于最频繁使用的通用寄存器,所以约定没有必要保留它的值。

南大的《计算机系统基础》上说,每个指令集体系有一个约定,规定哪些寄存器是调用者保存,哪些寄存器由被调用者来保存

2018年10月23日 14:29

| #

| 引用

hazdzz

说:

「帧」的英文叫什么?segment?

2018年12月12日 23:08

| #

| 引用

龙强

说:

高级语言学的不少,但是对内存、CPU对程序的执行还是不了解,所以,看看汇编确实受益匪浅,感谢!!!

2018年12月27日 18:54

| #

| 引用

cindy_liao

说:

引用Silen的发言:

mov%eax, [%esp+8]

mov%ebx, [%esp+12]

怎么感觉应该是

mov%eax, [%esp+4]

mov%ebx, [%esp+8]

第一天看汇编,看了阮老师提供的英文链接,在调用函数“ _add_a_and_b"时,首先会在stack中保存main函数中下一条指令“ add %esp, 8”的地址,距离“_main”有4条指令,所以是“_main+4*4”即“_main+16”。此时

ESP 寄存器会再减去 4个字节(累计减去12)。

然后再执行子函数中的“push %ebx”这时,push指令会再将 ESP 寄存器里面的地址减去4个字节(累计减去16)。所以感觉阮老师在文中此处的解释应该有误(原文解释此时累计减去12)。

所以

mov%eax, [%esp+8] 对应数据“2”

mov%ebx, [%esp+12] 对应数据“3”

2019年1月22日 17:35

| #

| 引用

radmanxu

说:

引用立猛的发言:

intel 格式汇编没有% AT&T 汇编有% 但是格式和intel 相反

是的,阮老师的这篇文章写的有问题。

2019年2月24日 17:13

| #

| 引用

龙龙

说:

我觉得通过汇编来深刻理解高级语言的原理不是最大的作用,最大的作用应该就是反汇编写外挂了....,要学写外挂,汇编是第一个要掌握的东西

2019年2月25日 10:10

| #

| 引用

Xiao

说:

引用hazdzz的发言:

「帧」的英文叫什么?segment?

frame吧

2019年2月26日 18:46

| #

| 引用

f

说:

这样的话,就多出一个步骤,要把这些文字指令翻译成二进制,这个步骤就称为 assembling,完成这个步骤的程序就叫做 assembler。它处理的文本,自然就叫做 aseembly code。标准化以后,称为 assembly language,缩写为 asm,中文译为汇编语言。

单词拼错了 第三个 assembly code error -> aseembly.

2019年3月25日 16:46

| #

| 引用

陈汉轩

说:

个人感觉原文有一处的错误:

【原文】

“这一行表示将 EBX 寄存器里面的值,写入_add_a_and_b这个帧。这是因为后面要用到这个寄存器,就先把里面的值取出来,用完后再写回去。

这时,push指令会再将 ESP 寄存器里面的地址减去4个字节(累计减去12)。”

【修正为】

应该是累计减去16

因为call指令是默认有压栈操作的,还会占用4个字节(假设是32位操作系统)

【说明】

本人目前正在学习深入理解计算机系统(原书第3版,中文版,机械工业出版社),看了博主的文章,感觉很清晰,但是与本书的P150面有出入,书上说明了:

“call指令的效果是将返回地址入栈,并跳转到被调用过程的起始处”

博主的图是对的,压栈3,2之后又call指令的压栈,但可能是笔误的原因,最后在调用add函数之后再进行压栈%ebp操作时,偏移量应该是4*4=16,希望博主能够修改一下

2019年4月18日 00:02

| #

| 引用

Mononoke

说:

还是看英文链接的文章比较清楚,

7.3中 “这时,push指令会再将 ESP 寄存器里面的地址减去4个字节(累计减去12)。”

这里应该写错了,在call _add_a_and_b时,会把main函数中call的下一条指令“add %esp, 8”的地址写到stack去,ESP减去4字节。

之后跳转到_add_a_and_b函数,执行"push %ebx"时,ESP再次减去4字节,累计是减去16字节。

2019年5月 9日 10:10

| #

| 引用

不知明的网友

说:

7.5 add 指令

add指令用于将两个运算子相加,并将结果写入第一个运算子。

add %eax, %ebx

上面的代码将 EAX 寄存器的值(即2)加上 EBX 寄存器的值(即3),得到结果5,再将这个结果写入第一个运算子 EAX 寄存器。

这里是不是写错了,应该是写入到 运算子 EBX 寄存器

2019年5月19日 19:15

| #

| 引用

说:

谢谢沅老师,您的知识分享永远是最通俗易懂,而且最详细明白的!!!看过你老各个不同领域语言的各个文章,其它人写的总是要么不够详细,要么就很多细节没介绍到,总是看的不明不白!谢谢您!

2019年8月19日 10:23

| #

| 引用

feixin

说:

引用阮一峰的发言:

@jimmy

我的理解是 EAX 属于最频繁使用的通用寄存器,所以约定没有必要保留它的值。

有一个 “调用规约” 可以了解一下,调用规约是程序员需要遵守的关于函数调用顺序的约定。

2019年8月26日 18:41

| #

| 引用

seed

说:

引用不知明的网友的发言:

7.5 add 指令

add指令用于将两个运算子相加,并将结果写入第一个运算子。

add%eax, %ebx

上面的代码将 EAX 寄存器的值(即2)加上 EBX 寄存器的值(即3),得到结果5,再将这个结果写入第一个运算子 EAX 寄存器。

这里是不是写错了,应该是写入到 运算子 EBX 寄存器

看规范 如果是intel格式的,add ax,bx 意思是ax=ax+bx;如果是at&t的 意思是 bx=ax+bx

2019年8月28日 14:53

| #

| 引用

lul

说:

了解汇编语言并不是为了用汇编语言去怎么编程,而是为了了解计算机编译器的优化过程,或者从基层了解某些C++或者Java某些语言的实现原理。举一个例子:编译器有一个循环展开的过程,想了解循环展开必须得看汇编代码;还有C++里面的指针和引用的区别,如果从汇编语言去看,就会发现指针和引用在大多数情况下是同一个东西,引用只是指针的语法糖而已。C++之所以提出引用这个概念,就是为了避免指针满天飞。汇编语言的学习是为了更好的了解语言、更好的优化代码。

2019年9月 6日 14:01

| #

| 引用

NoobCoder

说:

大学学微机原理学的是CortexM3,里面涉及到了汇编,但是当时老师讲的像天书一般,所以最后没学会。

后来在学习,工作种频繁遇到堆栈等概念,但是去搜,搜出来的又不是讲的那么明白,这次终于在这里弄懂了堆栈的概念了。

十分感谢

2019年9月 9日 00:47

| #

| 引用

k4er

说:

引用迪伦的发言:

举例来说,用户要求得到10个字节内存,那么从起始地址0x1000开始给他分配,一直分配到地址0x100A,如果再要求得到22个字节,那么就分配到0x1020

这里没看懂,22个字节不是应该分配到0x1016吗?,我感觉32个字节才应该是0x1020

这里应该是笔误,确实是 32 才对

2019年10月28日 17:15

| #

| 引用

Linus

说:

引用张春星的发言:

== 它会先取出 ESP 寄存器里面的地址,将其减去4个字节,然后将新地址写入 ESP 寄存器。使用减法是因为 Stack 从高位向低位发展,4个字节则是因为3的类型是int,占用4个字节。得到新地址以后, 3 就会写入这个地址开始的四个字节。==

这个地方不懂啊

你不明白是这里表述有歧义。

前面表述都很准确,意思就是ESP原来指向栈的某个地址,现在将这个地址取出,减去4个字节,再存回ESP,相当于释放了栈的4个字节。

“得到新地址以后, 3 就会写入这个地址开始的四个字节”

这句表述不准确,让人很容易理解成“得到新地址以后”自动使得“3写入刚才释放的4个字节”。

其实是得到了新地址,我们再手动把3写入刚才释放的这四个字节。这是分来的两步。

以上是我的理解。

2019年12月 3日 14:28

| #

| 引用

cc

说:

example.s经过简化以后,大概是下面的样子。

大佬,能不能别简化,简化的内容差别太大了,是怎么简化的?

2019年12月17日 17:06

| #

| 引用

cc

说:

_add_a_and_b:

push %ebx

mov %eax, [%esp+8]

mov %ebx, [%esp+12]

add %eax, %ebx

pop %ebx

ret

上面的代码,eax没有取出原来的值就直接写进去,不会有问题吗?

2019年12月18日 10:45

| #

| 引用

cc

说:

add %eax, %ebx

eax的值和ebx的值相加,得到的值写入eax,那么原来eax的值怎么办?会被覆盖吗?后面再要用到原来eax的值的时候怎么办?

2019年12月18日 14:22

| #

| 引用

NoLenJ

说:

C# Emit IL 构建动态程序,应该是汇编语言语法

2019年12月28日 16:32

| #

| 引用

dics

说:

在windows上用nasm写示例程序,总是跑不出正确结果。然而,把函数内esp那俩地址偏移量改一下就有正确结果了:

extern _printf

global _main

section .data

_fmt: db "%d", 0Ah, 0

section .text

_add:

mov eax, dword [esp + 4]

mov ebx, dword [esp + 8]

add eax, ebx

ret

_main:

push 4

push 5

call _add

add esp, 8

push eax

push _fmt

call _printf

add esp, 8

ret

大概是不同的系统的调用方式也不同?

2020年2月19日 21:11

| #

| 引用

杨小瀷

说:

阮老师,这汇编例子是Intel和AT&T的结合体!!!

换那个汇编器都通不了啊……

2020年2月26日 18:40

| #

| 引用

任兴

说:

AT&T的源操作数,目的操作数的顺序,和Intel是相反的

2020年3月 3日 10:02

| #

| 引用

大名

说:

汇编语言就可以被 CPU 直接执行? 机器语言才可以

2020年4月13日 21:56

| #

| 引用

赶快把

说:

完全看懂了,啦啦啦

2020年4月28日 20:58

| #

| 引用

王艳红

说:

强,内容通俗易懂,感谢分享

2020年5月18日 15:14

| #

| 引用

狮子舞

说:

"通过这种机制,就实现了函数的层层调用,并且每一层都能使用自己的本地变量。"

=>请教下,如何在每一层访问到自己的本地变量呢? 这个时候的本地变量和该函数在栈上的分布是怎么样的呢?谢谢!

2020年6月17日 11:57

| #

| 引用

xiniao

说:

上面的是AT&T汇编,文章当成Intel汇编讲了

2020年9月 7日 14:10

| #

| 引用

MyC

说:

阮大这篇文章,好凌乱啊!

C代码使用 gcc 的 gas 给翻译成汇编代码后,默认应该是 AT&T 语法格式,即便是最新版 gas 已经支持加 -masm=intel 参数翻译成 Intel 语法格式,确不会翻译成这种 Intel和AT&T的结合体!!!

阮大您重新整理一下吧,我也懵圈了!

2020年11月24日 21:01

| #

| 引用

越行勤

说:

谢谢老师,太感谢您了,我最近也在学习汇编,我将你的博客转载到了我的博客上了,但是也加入了我些许理解,感谢老师

2020年12月 6日 20:46

| #

| 引用

gigglesun

说:

“我们常常看到 32位 CPU、64位 CPU 这样的名称,其实指的就是寄存器的大小”

这样表述不太严谨:X 位的CPU应该是指:

1. 运算器一次可以处理x位的数据

2. 寄存器的最大宽度为x位

3. 寄存器与运算器之间的通路宽度为x位

2020年12月 6日 22:17

| #

| 引用

shau

说:

一直使用高级语言,对底层原理模糊不清,看了这篇文章,通俗易懂,完全可以使用汇编上手一些简单的程序,后面会持续关注阮老师的文章。

2021年2月22日 17:36

| #

| 引用

阮一峰nb

说:

对底层知识一窍不通,刚入了门,确实通俗易懂,谢谢

2021年2月22日 22:54

| #

| 引用

youyuxiansen

说:

想说,多线程情况下,eax被另一个程序占了,怎么办?

2021年4月22日 16:01

| #

| 引用

q3

说:

光靠两个寄存器,如何实现下面这个算术

int a = 2

int b = 3

int c = 4

int d = 5

return a * b + c * d + a * c

2021年7月23日 16:36

| #

| 引用

ZL

说:

@a14907:

esp+4存的是函数返回地址,调用call指令时自动入栈的数据,也就是call语句的下一条指令地址

2021年8月16日 15:14

| #

| 引用

Sulfuric-Acid1024

说:

我有个问题,为啥我把一个程序用g++编译成.s汇编文件后的文件很短,但是编译程序出来的exe却有好几MB?如果我用g++编译汇编文件,也是好几MB

2021年8月27日 17:28

| #

| 引用

月光照在酒瓶上

说:

希望写篇汇编设计模式的文章,这个我看了下,几乎整个网络都没人写,其中一个主要问题就是怎么使用寄存器,现在寄存器这么多,传统汇编教材几乎都不涉及这些,总感觉在寄存器使用上,没找到最佳实践

2021年10月15日 14:21

| #

| 引用

张博奇

说:

这里是否有点问题?

这时,push指令会再将 ESP 寄存器里面的地址减去4个字节(累计减去12)。

既然已经累计减去12,那这里再%esp+8不应该是3吗?

mov %eax, [%esp+8]

2021年12月 4日 11:48

| #

| 引用

Colin

说:

引用YY的发言:

不用理解JAVA虚拟机的概念。造汽车的人,无需了解钢铁是如何炼成的。

很多技术是层叠的,做顶层业务的,是需也不太可能将所有底层技术进行追溯学习的。

這應該就是東尼史塔克跟一般工程師的差別

精進自我的工程師連新元素煉成都會

2021年12月20日 12:21

| #

| 引用

Heart

说:

深入浅出,讲得真好,谢谢老师~

2022年3月20日 14:03

| #

| 引用

高中在读生

说:

引用Not的发言:

基本的点都讲到了,但不是计算机专业的读者估计还是会有点懵,建议结合下内存总线和硬件指令的电路原理。

还好,我不是计算机专业的,还是能看懂,反正电脑这玩意就是懂得都懂

2022年12月11日 17:49

| #

| 引用

Jeffery@SLC

说:

引用Not的发言:

基本的点都讲到了,但不是计算机专业的读者估计还是会有点懵,建议结合下内存总线和硬件指令的电路原理。

参考下面这个blog内容,基于x86-64架构,AT&T语法,写得很详细。

2023年1月26日 07:50

| #

| 引用

ite

说:

引用阮一峰的发言:

@jimmy

我的理解是 EAX 属于最频繁使用的通用寄存器,所以约定没有必要保留它的值。

调用约定将寄存器分为两部分:保留寄存器 和 临时寄存器 。

eax是保留寄存器,而ebx是临时寄存器

在 x86_64 架构下,C调用约定指定了这些寄存器分类:

保留寄存器:rbp, rbx, rsp, r12, r13, r14, r15 临时寄存器:

rax, rcx, rdx, rsi, rdi, r8, r9, r10, r11

2023年2月23日 10:49

| #

| 引用

ssrs

说:

引用jimmy的发言:

为什么我们用到EBX就push EBX,而用到EAX却没push EAX呢?

因为里面有需要的值,得暂时保存下

2023年4月23日 12:57

| #

| 引用

nshnhsnsnhshnhnshsn

说:

AT&T与Intel语法不一样!

2023年8月30日 21:43

| #

| 引用

demon90s

说:

这盘文章对 call 指令和 ret 指令的描述稍有简陋,个人感觉没有讲明白。

call 指令其实也会修改 esp 寄存器,也就是会将 call 指令的下一条指令的地址入栈,之后跳转到执行函数。

ret 指令会弹出栈顶上的4个字节(也就是 call 指令入栈的地址),然后跳转到此地址的指令开始执行。

这部分工作也就是文章所说的“该函数建立一个新的帧”和“函数的帧将被回收”。

2023年9月 6日 17:56

| #

| 引用

我要发表看法

您的留言

(HTML标签部分可用)

您的大名:

«-必填

电子邮件:

«-必填,不公开

个人网址:

«-我信任你,不会填写广告链接

记住个人信息?

正在发表您的评论,请稍候

«- 点击按钮

Weibo |

Twitter |

GitHub

Email: [email protected]

济南大学主页平台管理系统 张彦--中文主页--首页

济南大学主页平台管理系统 张彦--中文主页--首页

首页

科学研究

研究领域

论文成果

专利

著作成果

科研项目

教学研究

教学资源

授课信息

教学成果

获奖信息

招生信息

学生信息

我的相册

教师博客

其他栏目

语种

English

张彦

博士生导师

硕士生导师

教师拼音名称:zhangyan

出生日期:1989-03-09

电子邮箱:c3dddde3019c07748698f23b27eb7dfcb1a86a6691234ce0c3df6c1d7a61af8e111f230bc5c8d7d7f27afd2c68474159963394796b74cb7f6e49aa491402dd48e0d9cb38eaeaa71ed8fdf1cfc9ff4849472fdd164387f81f11d574a127bf5b0168bdc9677eba8902b71a10fe645b02c45850fa7bcf364d25ef8c9cc7299f4389

入职时间:2018-07-05

所在单位:化学化工学院

学历:博士研究生毕业

办公地点:化学楼B528B

性别:男

联系方式:13406061230

学位:工学博士学位

在职信息:在职

学科:化学

2021曾获荣誉当选:山东省泰山学者青年专家 2018曾获荣誉当选:国家“博新计划”入选者 2017曾获荣誉当选:“挑战杯”全国一等奖获得者 2014曾获荣誉当选:中国青少年科技创新奖获得者

访问量:

开通时间:..

最后更新时间:..

同专业博导

同专业硕导

个人简介

张彦,教授、博士、博导、山东省泰山学者青年专家、国家“博新计划”人选、中国青少年科技创新奖获得者、“挑战杯”竞赛全国一等奖获得者(首位)、山东省取得突出成绩的博士后、济南市优秀科技工作者,Nano-Micro Letters、Journal of Analysis and Testing 青年编委。围绕纸基微流控分析及柔性电子器件开展课题研究,以第一/通讯作者在Adv. Mater.、Sci. Bull.、Nano Energy、J. Hazard. Mater.、Anal. Chem. 等期刊发表一区论文30余篇(影响因子10以上17篇),其中1篇入选ESI热点论文,3篇入选ESI高被引论文,5篇被Adv. Mater.、Anal. Chem.、Chem. Commun.等期刊以Video Abstract或 (Inside) Front/Back Cover等形式刊载报道。相关成果被国际著名出版商WILEY-VCH在其知名学术媒体Adv. Sci. News、ChemBeanGo、X-MOL行业资讯平台等学术网站进行专题报道;荣获山东省教学成果奖(高等教育类)一等奖、山东省自然科学奖二等奖、中国分析测试协会科学技术二等奖、中国石油和化学工业联合会科技进步二等奖等省部级以上奖励多项;作为第一发明人授权发明专利5项;主持国家自然科学基金、国家博士后创新人才支持计划、泰山学者青年专家计划、山东省高等学校青年创新团队发展计划等省部级以上项目6项;指导学生立项国家级大学生创新创业训练计划3项,荣获全国大学生生命科学竞赛国赛特等奖、“挑战杯”全国大学生课外学术科技作品竞赛国赛二等奖、山东省研究生高端化工与功能材料创新实践大赛特等奖、山东省研究生优秀成果奖一等奖、山东省大学生科技创新大赛一等奖等省级奖励20余项。

ORCID iD: https://orcid.org/0000-0002-1936-4619

Researcher ID: C-6620-2015

主要研究方向:

(1) 功能纸芯片与生物传感分析

(2) 功能纳米材料制备及应用

(3) 气体传感与无创诊断

荣誉奖励:

(16) 山东省取得突出成绩的博士后,2023.05

(15) 济南市优秀科技工作者,2023.05

(14) 山东省第九届教学成果奖(高等教育类)一等奖,2022.03

(13) 山东省博士后杰出人物,2022.01

(12) 山东省泰山学者青年专家,2021.01

(11) 山东省优秀博士学位论文,2019.12

(10) 国家“博新计划”入选者,2018.06

(9) 第十三届中国大学生年度人物入围奖,2018.05

(8) 山东省自然科学二等奖,2018.03

(7) 第十五届“挑战杯”全国大学生课外学术科技作品竞赛一等奖,2017.11

(6) 卢嘉锡优秀研究生奖,2017.11

(5) 中国分析测试协会科学技术二等奖,2017.10

(4) “大众报业杯”山东高校十大优秀学生,2016.04

(3) 中国石油和化学工业联合会科技进步二等奖,2015.10

(2) 第十届中国大学生年度人物入围奖,2015.07

(1) 第九届中国青少年科技创新奖,2014.08

  

代表性论文(第一/通讯作者):

2023年

[28] Photoelectrochemical sensors based on paper and their emerging applications in point-of-care testing. Biosensors and Bioelectronics, 2023, 236, 115400. https://doi.org/10.1016/j.bios.2023.115400

[27] Paper-based bipolar electrode electrochemiluminescence sensors for point-of-care testing. Biosensors and Bioelectronics, 2023, 235, 115384. https://doi.org/10.1016/j.bios.2023.115384

[26] Ready-to-use interactive dual-readout differential lateral flow biosensor for two genotypes of human papillomavirus. Biosensors and Bioelectronics, 2023, 228, 115224. https://doi.org/10.1016/j.bios.2023.115224

2022年

[25] Photothermal-Reagent-Triggered Visual Thermoresponsive and Quantized Photoelectrochemical Dual-Signal Assay. ACS Sensors, 2022, 7, 2429-2437. https://doi.org/10.1021/acssensors.2c01162

[24] Paper-Based Bipolar Electrode Electrochemiluminescence Platform Combined with Pencil-Drawing Trace for the Detection of M.SssI Methyltransferase. Analytical Chemistry, 2022, 94, 8327-8334.

https://doi.org/10.1021/acs.analchem.2c00803

[23] Ratiometric electrochemiluminescence lab-on-paper device for DNA methylation determination based on highly conductive copper paper electrode.  Biosensors and Bioelectronics, 2022, 214, 114522. https://doi.org/10.1016/j.bios.2022.114522

2021年

[22] In situ grown COFs on 3D strutted graphene aerogel for electrochemical detection of NO released from living cells. Chemical Engineering Journal, 2021, 420, 127559. https://doi.org/10.1016/j.cej.2020.127559

[21] All-sealed paper-based electrochemiluminescence platform for on-site determination of lead ions. Biosensors and Bioelectronics, 2021, 192, 113524. https://doi.org/10.1016/j.bios.2021.113524

[20] Porphyrin-Based Covalent Organic Framework Thin Films as Cathodic Materials for "On-Off-On" Photoelectrochemical Sensing of Lead Ions. ACS Applied Materials and Interfaces, 2021, 13, 20397-20404. https://doi.org/10.1021/acsami.1c00335

[19] Self-Circulation Oxygen-Hydrogen Peroxide-Oxygen System for Ultrasensitive Cathode Photoelectrochemical Bioassay Using a Stacked Sealed Paper Device. ACS Applied Materials and Interfaces, 2021, 13, 19793-19802. https://doi.org/10.1021/acsami.1c03891

2020年

[18] Non-covalent interaction-driven self-assembly of perylene diimide on rGO for room-temperature sensing of triethylamine with enhanced immunity to humidity. Chemical Engineering Journal, 2020, 385, 123397. https://doi.org/10.1016/j.cej.2019.123397

[17] 3D synergistical rGO/Eu(TPyP)(Pc) hybrid aerogel for high-performance NO2 gas sensor with enhanced immunity to humidity. Journal of Hazardous Materials, 2020, 384, 121426. https://doi.org/10.1016/j.jhazmat.2019.121426

[16] DNAzyme-Triggered Visual and Ratiometric Electrochemiluminescence Dual-Readout Assay for Pb(II) Based on an Assembled Paper Device. Analytical Chemistry, 2020, 92, 3874-3881. https://doi.org/10.1021/acs.analchem.9b05343

[15] Ultrasensitive Photoelectrochemical Detection of MicroRNA on Paper by Combining a Cascade Nanozyme-Engineered Biocatalytic Precipitation Reaction and Target-Triggerable DNA Motor. ACS Sensors, 2020, 5, 1482-1490. https://dx.doi.org/10.1021/acssensors.0c00632

2019年

[14] Noninvasive and Wearable Respiration Sensor Based on Organic Semiconductor Film with Strong Electron Affinity. Analytical Chemistry, 2019, 91, 10320-10327. https://doi.org/10.1021/acs.analchem.9b02811

[13] Low-Power and High-Performance Trimethylamine Gas Sensor Based on n-n Heterojunction Microbelts of Perylene Diimide/CdS. Analytical Chemistry, 2019, 91, 5591-5598. https://doi.org/10.1021/acs.analchem.8b04497

 

2018年

[12] Flexible Electronics Based on Micro/Nanostructured Paper. Advanced Materials, 2018, 30, 1801588. https://doi.org/10.1002/adma.201801588

[11] Highly conductive and bendable gold networks attached on intertwined cellulose fibers for output controllable power paper. Journal of Materials Chemistry A, 2018, 6, 19611-19620. http://dx.doi.org/10.1039/C8TA08293F

[10] Addressable TiO2 Nanotubes Functionalized Paper-Based Cyto-Sensor with Photocontrollable Switch for Highly-Efficient Evaluating Surface Protein Expressions of Cancer Cells. Analytical Chemistry, 2018, 90, 13882-13890. https://doi.org/10.1021/acs.analchem.8b02849

[9] “On-off-on” Photoelectrochemical/Visual Lab-on-Paper Sensing via Signal Amplification of CdS Quantum Dots@Leaf-Shape ZnO and Quenching of Au Modified Prism-Anchored Octahedral CeO2 Nanoparticles. Analytical Chemistry, 2018, 90, 11297-11304. https://doi.org/10.1021/acs.analchem.8b01844

2017年

[8] In-situ synthesized polypyrrole-cellulose conductive networks for potential tunable foldable power paper. Nano Energy, 2017, 31, 174-182. http://doi.org/10.1016/j.nanoen.2016.11.029

[7] Steric paper based ratio-type electrochemical biosensor with hollow-channel for sensitive detection of Zn2+. Science Bulletin, 2017, 62, 1114-1121. http://dx.doi.org/10.1016/j.scib.2017.07.004

[6] Sudoku-like Lab-on-Paper Cyto-Device with Dual Enhancement of Electrochemiluminescence Intermediates Strategy. Analytical Chemistry, 2017, 89, 7511-7519. https://doi.org/10.1021/acs.analchem.7b01194

 

2016年以前

[5] Chemical and biochemical analysis on lab-on-a-chip devices fabricated using three-dimensional printing. TrAC Trends in Analytical Chemistry, 2016, 85, 166-180. http://dx.doi.org/10.1016/j.trac.2016.09.008

[4] Multifunctional reduced graphene oxide trigged chemiluminescence resonance energy transfer: Novel signal amplification strategy for photoelectrochemical immunoassay of squamous cell carcinoma antigen. Biosensors and Bioelectronics, 2016, 79, 55-62. http://dx.doi.org/10.1016/j.bios.2015.12.008

[3] Flexible paper-based ZnO nanorod light-emitting diodes induced multiplexed photoelectrochemical immunoassay. Chemical Communications, 2014, 50, 1417-1419. https://doi.org/10.1039/C3CC48421A

[2] Multiplexed sandwich immunoassays using flow-injection electrochemiluminescence with designed substrate spatial-resolved technique for detection of tumor markers. Biosensors and Bioelectronics, 2013, 41, 684-690. http://dx.doi.org/10.1016/j.bios.2012.09.044

[1] Synthesis and characterization of graphene nanosheets attached to spiky MnO2 nanospheres and its application in ultrasensitive immunoassay. Carbon, 2013, 57, 22-33. http://dx.doi.org/10.1016/j.carbon.2013.01.012

  

指导学生科创:

(1) “挑战杯”全国大学生课外学术科技作品竞赛国赛二等奖(指导教师),2023.10

(2) 全国大学生生命科学竞赛(创新创业类)国赛特等奖(指导教师),2022.07

(3) 全国大学生生命科学竞赛(创新创业类)国赛二等奖(指导教师),2023.08

(4) 全国大学生生命科学竞赛(创新创业类)国赛三等奖(指导教师),2023.08

(5) 全国大学生生物医学工程创新设计竞赛国赛二等奖(指导教师),2023.07

(6) 全国大学生生物医学工程创新设计竞赛国赛三等奖(指导教师),2023.07

(7) 中国研究生创“芯”大赛国赛三等奖(指导教师),2023.08

(8) 中国研究生“双碳”创新与创意大赛三等奖(指导教师),2023.10

(9) 国家级大学生创新创业训练计划项目(202210427008)(指导教师),2022.12

(10) 国家级大学生创新创业训练计划项目(202210427005)(指导教师),2022.12

(11) 山东省研究生高端化工与功能材料创新实践大赛特等奖(指导教师),2022.12

(12) 山东省研究生高端化工与功能材料创新实践大赛一等奖(指导教师),2022.12

(13) 山东省研究生优秀成果奖一等奖(指导教师),2021.10

(14) 山东省优秀硕士学位论文(指导教师),2021.10

(15) 山东省研究生先进结构与功能材料学术创新论坛口头报告一等奖(指导教师),2023.04

(16) 第十八届“挑战杯”山东省大学生课外学术科技作品竞赛一等奖(指导教师),2023.05

(17) 第十七届“挑战杯”山东省大学生课外学术科技作品竞赛二等奖(指导教师),2021.05

(18) 第十二届“挑战杯”山东省大学生创业计划竞赛铜奖(指导教师),2020.11

(19) 第五届山东省“互联网+”大学生创新创业大赛银奖(指导教师),2019.09

(20) 第九届山东省“互联网+”大学生创新创业大赛铜奖(指导教师),2023.09

(21) 第六届山东省“互联网+”大学生创新创业大赛铜奖(指导教师),2020.09

(22) 第三届山东省大学生科技创新大赛一等奖(指导教师),2016.12

(23) 第六届山东省大学生科技创新大赛二等奖(指导教师),2019.12

(24) 第八届山东省大学生科技创新大赛二等奖(指导教师),2021.12

(25) 第八届山东省大学生科技创新大赛三等奖(指导教师),2021.12

(26) 第九届山东省大学生科技创新大赛三等奖(指导教师),2022.12

(27) 第十二届全国大学生电子商务”创新、创意及创业“挑战赛省赛二等奖(指导教师),2022.07

(28) 山东省大学生医养健康创新创业大赛二等奖(指导教师),2022.12

(29) 山东省大学生医养健康创新创业大赛三等奖(指导教师),2022.12

其他联系方式

邮编 : c5126f0f454166b2c7f6f5d8e4a401fef43d21bbc58825628114606d75ad94da2d2f4bc035ed50046f0fd39f6d03d0f5fd48914f21b57e6a8e0a5f2dcae18a3755fc5f54559e5e53835d609563f964b99e324d5a4c2fbcc725dffedce17c86e2e6b3c76464b93f608a778e5e6f659ad963b865f65135bcd62b96e90e5d054b07

通讯/办公地址 : 66700ccb4e5a8efaee6bf9a42d41cca5db413eacba74f0056b35c757696aeb3388ffb3cc0964a06c2e31422a158f390e0c4ea4322fb94bd15830d3bb8e887f75f6f37d6f5f87bed1bfe091d16406e995394335ad6d06672ca3221b93a77a820963440479d44bc75dfb710ef45bc6b5bf839a200df39f224287b3a5388468a11f

办公室电话 : 307ad97e4d6866324b09827e0db3dddecfced19be1e469d87920554381f8bbc6f5329ce1037103f761c2db6adca694ad721f46a95f8364987036c0e151d4d6215c67dc89cb7dcf450ce85d73b7eabd70f7141bf409f9ca5ac4921d2315afb6b9e23e19a8f4c64f8cb9fd2073e4e3947214c38471ca981d02362183f093fea428

移动电话 : a876ecb1f307a108022b74dc698239442b5c1f4d53c4f82d264659ae9124b00e8ced03986c0773f7d58b23ab3155afcbb41365f8462d67987dc988bf46a50d845cd9885773315147e2404596eb205ca4e3f43416a1ec03e543d2e5095d7d467f6595c216fe7b1f52b5ebc470ab5694afc860bfd0ecdd4f0dc1639161bfd282c5

工作经历

[1]

2021.1 -- 至今

济南大学

    

化学化工学院

    

山东省泰山学者青年专家

[2]

2018.7 -- 2020.12

济南大学

    

材料科学与工程博士后流动站

    

国家“博新计划”博士后

社会兼职

[1]

2023.7 -- 至今

Nano-Micro Letters青年编委

[2]

2022.4 -- 至今

Journal of Analysis and Testing 青年编委

[3]

2022.7 -- 至今

《武汉大学学报(理学版)》青年编委

研究方向

(1) 功能纸芯片与生物传感分析 (2) 功能纳米材料制备及应用 (3) 气体传感与无创诊断

版权信息:鲁ICP备09051414号 地址:中国·山东省济南市南辛庄西路336号  邮编:250022  版权所有:济南大学

手机版

张建明-橡塑材料与工程教育部重点实验室

张建明-橡塑材料与工程教育部重点实验室

实验室简介|实验室动态|科研队伍|研究方向|测试中心|交流与开放|成果与项目|管理模式|博导介绍

图片新闻

实验室信息

通知及公告

学术带头人

橡胶工程

塑料工程

高分子材料

高分子化学与物理

包装工程

复合材料

橡塑新材料的分子设计及其可控制备技术

橡塑材料先进成型技术加工与应用

橡胶资源化与循环利用

橡塑纳米复合材料制备、结构与性能优化

分析测试中心简介

高分子材料分析测试平台

橡塑加工检测平台

开放课题

国际交流与合作

客座教授

论著

论文

科研项目

科研成果

组织机构

规章制度

学术委员会

热点新闻

博导介绍

当前位置:

首页>>博导介绍>>正文

张建明

2020/07/14 09:46:18

 

  (访问量:)

个人简介

张建明, 山东省泰山学者特聘教授, 博士生导师。迄今为止, 迄今为止已发表SCI学术论文130余篇,所发论文被引5000余次, H-指数为35,获批中国发明专利20余件。先后获日本JSPS博后奖、德国洪堡资深学者、山东省泰山学者、山东省杰出青年、山东省自然科学二等奖及中国石化联合会青年科技突出贡献奖等奖励。2019年当选为第一届中国化学会纤维素专业委员会及第一届光散射专业委员会委员。2008年独立开展工作以来,带领团队获批国家自然科学基金18项、国家重点研发计划课题1项。代表性成果有:1)发现了结晶高分子中的无序晶相,并揭示了无序晶相至有序晶相的转变机理。该研究成果对高分子结晶相变理论的发展具有重要贡献。2)面对国家可持续发展战略的需求,在生物质纳米材料制备、组装及复合领域取得一系列重要进展,为天然高分子的高值化利用提供了创新性的关键技术。3)掌握了石墨烯气凝胶低成本、绿色制备及高性能化方面所需的核心技术,并为其产业化所进行的专利布局具有世界先进水平。张建明教授团队在注重基础研究的同时也积极服务地方经济,与山东多家龙头企业,如圣泉集团、星宇手套公司、银鹰化纤开展深入的产学研合作,获得企业高度认可。

研究兴趣

    1.高分子凝聚态结构及调控与解析

    2.生物质基纳米材料的制备及其功能弹性体的构筑

主要承担项目

聚乳酸/纤维纳米晶复合材料成核机制与构效关系研究;    国家自然科学面上项目(2018.01-2021.12)   63万

纤维素纳米晶液晶自组装机制研究及其功能复合材料构筑;国家自然科学基金面上项目(2016.01-2019.12) 64万

梳状导电高分子凝聚态结构及其超薄膜在电场下的结构响应研究; 国家自然科学基金面上项目(2013.01-2016.12) 80万

聚乳酸亚稳相形成机制及其与物理老化、结晶初期凝聚态局部有序结构形成的关联研究;  国家自然科学基金面上项目(2012.01-2015.12)    60万

 

代表性论文

Li Wang, Jie Hu, Yunxiao Liu, Jie Shu,Hao Wu, Zhaozhao Wang, Xiaolong Pan, Ning Zhang, Lijuan Zhou, and Jianming Zhang, “Ionic Liquids Grafted Cellulose Nanocrystals for High Strength and Toughness PVA Nanocomposite” 2020, 12, 34, 38796-38804.

Xiaofang Zhang, Guohui Yang, Lu Zong, Min Jiang, Zhongqian Song, Cheng Ma, Tongping Zhang, Yongxin Duan, Jianming Zhang*, “Tough, Ultralight, and Water-Adhesive Graphene/Natural Rubber Latex Hybrid Aerogel with Sandwichlike Cell Wall and Biomimetic Rose-Petal-Like Surface”, ACS Appl. Mater. Interfaces 2020, 12, 1378-1386.

Yunxiao Liu, Lijuan Zhou, Li Wang, Xiaolong Pan, Kuntao Wang, Jie Shu, Lehuan Liu, Hui Zhang, Leyu Lin, Xinyan Shi, Alois K. Schlarb**, Jianming Zhang*,“Air-dried porous powder of polymethyl methacrylate modified cellulose nanocrystal nanocomposite and its diverse applications”, Composites Science and Technology 2020, 188, 107985.

Zejun Zhang , Jinli Qin , Huailing Diao , Shasha Huang , Jin Yin , Hui Zhang , Yongxin Duan**, Jianming Zhang*, “Janus-like asymmetrically oxidized graphene: Facile synthesis and distinct liquid crystal alignment at the oil/water interface”, Carbon, 2020, 161, 316-322.

Xiaofang Zhang, Tongping Zhang, Zhi Wang, Zhongjie Ren, Shouke Yan, Yongxin Duan,* and Jianming Zhang*,Ultralight, “Superelastic, and Fatigue-Resistant Graphene AerogelTemplated by Graphene Oxide Liquid Crystal Stabilized Air Bubbles”, ACS Applied Materials & Interfaces 2019,1303-1310.

Zhaolu Wang, Na Li, Lu Zong, Jianming Zhang⁎,“Recent advances in vacuum assisted self-assembly of cellulose nanocrystals”,Current opinion in solid state & Materials Science 2019, 23, 142-148.

Lijuan Zhou, Na Li, Jie Shu, Yunxiao Liu, Kuntao Wang, Xiang Cui, Yuan Yuan, Beibei Ding, Yong Geng, Zhaolu Wang, Yongxin Duan, and Jianming Zhang* , “One-Pot Preparation of Carboxylated Cellulose Nanocrystals and Their Liquid Crystalline Behaviors”, ACS Sustainable Chemistry & Engineering 2018, 6, 12403-12410.

Beibei Ding, Shasha Huang, Kai Pang, Yongxin Duan and Jianming Zhang*,“Nitrogen-Enriched Carbon Nanofiber Aerogels Derived from Marine Chitin for Energy Storage and Environmental Remediation”, ACS Sustainable Chemistry & Engineering 2018, 6, 177-185.

Fuchun Nan, Selvaraj Nagarajan, Yuwei Chen, Ping Liu, Yongxin Duan, Yongfeng Men and Jianming Zhang*,“Enhanced Toughness and Thermal Stability of Cellulose Nanocrystal Iridescent Films by Alkali treatment”, ACS Sustainable Chemistry & Engineering 2017, 5, 8751-8758.

Kai Pang,  Beibei Ding,  Xiaoting Liu,  Hao Wu,  Yongxin Duan*  and  Jianming Zhang*, “High-Yield Preparation of Zwitterionically Charged Chitin Nanofiber and Its Application in Doubly pH-Responsive Pickering Emulsion”,Green Chemistry 2017, 19, 3665-3670.

 

COPYRIGHT 2009 青岛科技大学 橡塑材料与工程教育部重点实验室

手机版

陈成军-青岛理工大学 机械与汽车工程学院

青岛理工大学 机械与汽车工程学院

QUT-ILAB

 

MAEOA

 

MAE(旧)

首页

学院概况

学院简介

机构设置

现任领导

院长致词

党群工作

党建动态

组织建设

学习教育

学生党建

妇委会

共青团

工会工作

教师队伍

师资概况

专业师资

行政团队

学生工作

优秀人才

诚聘英才

本科教学

本科专业

教学动态

教学文件

教学成果

研究生培养

学位授权点

导师队伍

招生信息

科学研究

科研概况

科研机构

科研平台

科研成果

学科建设

学科动态

博士点建设

硕士点建设

学生工作

学工动态

学风建设

科技创新

就业信息

对外交流

国际交流

ENGLISH

Introduction

Organization

Faculty and staff

Globe cooperation

导航

首页

学院概况

学院简介

机构设置

现任领导

院长致词

党群工作

党建动态

组织建设

学习教育

学生党建

妇委会

共青团

工会工作

教师队伍

师资概况

专业师资

行政团队

学生工作

优秀人才

诚聘英才

本科教学

本科专业

教学动态

教学文件

教学成果

研究生培养

学位授权点

导师队伍

招生信息

科学研究

科研概况

科研机构

科研平台

科研成果

学科建设

学科动态

博士点建设

硕士点建设

学生工作

学工动态

学风建设

科技创新

就业信息

对外交流

国际交流

ENGLISH

Introduction

Organization

Faculty and staff

Globe cooperation

 

教师队伍

师资概况 | Teachers

专业师资 | Professional

行政团队 | Administrative

学生工作 | Students work

优秀人才 | Talents

诚聘英才 | Recruitment

教师队伍

首页

  

教师队伍

  

正文

陈成军

发布人:机车学院时间:2020-05-19浏览:

 陈成军  

 教授  

 博士生导师  

 山东省泰山学者青年专家  

最高学历:

 博士研究生  

从事专业:

 工业制造过程智能感知驱动AR可视化技术、机器人可视化遥操作及自主控制、机器视觉检测  

联系电话:

 15269218816  

电子信箱:

 chencj@qut.edu.cn  

工作单位:

 青岛理工大学机械与汽车工程学院  

通信地址:

 青岛经济技术开发区嘉陵江东路777号  

 

个人简介

陈成军,男,山东费县人,博士,教授,博士生导师、科技处副处长,山东省泰山学者青年专家、山东省高等学校优秀青年创新团队负责人。主要研究方向为工业制造过程智能感知驱动AR可视化技术、机器人可视化遥操作及自主控制、机器视觉等智能制造相关技术。主持国家自然科学基金3项,国家重点研发计划子课题1项、省部级项目5项、横向课题12项。第一作者或通讯作者发表论文80余篇,其中SCI/EI论文43篇,SCI TOP期刊论文11篇。第一完成人授权中国发明专利73项、软件著作权11项,第一完成人授权美国、日本、加拿大、澳大利亚等国外发明专利12项;主持/参与制订团体标准12部。建设山东省一流课程(虚拟仿真实验项目)1门,主持完成山东省专业学位研究生教学案例库建设项目1项,获山东省教学成果一等奖2项、三等奖1项;以第一完成人获山东省技术发明二等奖2项,青岛市科技进步一等奖1项。

陈成军,男,山东费县人,博士,教授,博士生导师、科技处副处长,山东省泰山学者青年专家、山东省高等学校优秀青年创新团队负责人。主要研究方向为工业制造过程智能感知驱动AR可视化技术、机器人可视化遥操作及自主控制、机器视觉等智能制造相关技术。主持国家自然科学基金3项,国家重点研发计划子课题1项、省部级项目5项、横向课题12项。第一作者或通讯作者发表论文80余篇,其中SCI/EI论文43篇,SCI TOP期刊论文11篇。第一完成人授权中国发明专利73项、软件著作权11项,第一完成人授权美国、日本、加拿大、澳大利亚等国外发明专利12项;主持/参与制订团体标准12部。建设山东省一流课程(虚拟仿真实验项目)1门,主持完成山东省专业学位研究生教学案例库建设项目1项,获山东省教学成果一等奖2项、三等奖1项;以第一完成人获山东省技术发明二等奖2项,青岛市科技进步一等奖1项。

教育经历

1999年09月-2003年07月,山东大学机械设计制造及其自动化专业,工学学士 ;

2003年09月-2008年12月,山东大学机械电子工程专业,工学博士 ;

2007年01月-2008年01月,新加坡国立大学,教育部联合培养博士;

1999年09月-2003年07月,山东大学机械设计制造及其自动化专业,工学学士 ;

2003年09月-2008年12月,山东大学机械电子工程专业,工学博士 ;

2007年01月-2008年01月,新加坡国立大学,教育部联合培养博士;

工作履历

2009年02月-2011年12月 ,青岛理工大学机械工程学院,讲师;

2012年01月-2017年12月 ,青岛理工大学机械工程学院,副教授;

2018年01月-今 ,青岛理工大学机械与汽车工程学院,教授(三级)。

2009年02月-2011年12月 ,青岛理工大学机械工程学院,讲师;

2012年01月-2017年12月 ,青岛理工大学机械工程学院,副教授;

2018年01月-今 ,青岛理工大学机械与汽车工程学院,教授(三级)。

学术兼职

教育部仪器科学与技术教学指导委员会 协作委员;

中国机械工程学会成组与智能集成分会 常务委员;

青岛市机械电子工程学会 常务副秘书长;

教育部仪器科学与技术教学指导委员会 协作委员;

中国机械工程学会成组与智能集成分会 常务委员;

青岛市机械电子工程学会 常务副秘书长;

教学情况

主授课程

本科生课程:《数控技术与数控机床》《机电一体化系统设计》《工程测试技术》《自动控制原理》

研究生课程:《机械系统智能监测与智能制造》《单片机接口技术》

本科生课程:《数控技术与数控机床》《机电一体化系统设计》《工程测试技术》《自动控制原理》

研究生课程:《机械系统智能监测与智能制造》《单片机接口技术》

教材编写

教改项目

1. 山东省一流本科课程,位置随动系统虚拟仿真实验项目,2021,负责人

2. 山东省专业学位研究生教学案例库建设项目,《机械智能监测与智能制造》课程案例库,2018年,负责人

1. 山东省一流本科课程,位置随动系统虚拟仿真实验项目,2021,负责人

2. 山东省专业学位研究生教学案例库建设项目,《机械智能监测与智能制造》课程案例库,2018年,负责人

教研论文

其他项目

科研情况

研究领域

1.工业制造过程智能感知驱动AR可视化技术

2.机器人可视化遥操作及自主控制;

3.深度学习及机器视觉技术。

1.工业制造过程智能感知驱动AR可视化技术

2.机器人可视化遥操作及自主控制;

3.深度学习及机器视觉技术。

科研著作

科研项目

1. 基于一致性数字孪生模型的月基机器人装配技能学习与装配过程预测,国家自然科学基金面上项目,52175471,58万,2022.01-2025.12

2. 数字孪生驱动的遥操作机器人装配技能学习研究,山东省自然科学基金面上项目,ZR2021MF110,10万,2022.01-2024.12

3. 工业的机器人虚实融合示教研究(AR辅助工业人机交互创新团队)山东省高等学校青创科技支持计划,科学技术类,2019KJB020,2019.10-2022.10,18万元,在研,主持.

4. 制造系统场景在线感知及特征智能提取技术,国家重点研发计划子任务2018YFB1701302,2019.01-2022.12,参与单位负责人,承担经费67万元。

5. 陈成军:情景驱动的复杂机械装备增强现实拆装诱导研究,51105215, 25万,国家自然科学基金青年基金,2012.1-2014.12。

6. 基于深度学习的装配场景理解及装配诱导、监测研究,51475251, 经费80万,国家自然科学基金面上项目,2015.1-2018.12。

7. 投影式增强现实装配维修诱导系统研制,2017GGX203003;山东省重点研发计划2017.08-2019.07 经费15万元。

8. 基于信息-物理融合的数控加工在线防碰撞及加工精度感知研究(BS2012ZZ004), 山东省优秀中青年科学家奖励基金, 1/6 2012.6-2014. 经费5万元。

9. 情景驱动的复杂机械装备增强现实拆装诱导研究,20113721120003, 教育部博士学科点专项基金(新教师类), 1/8, 2012.1-2014.12,经费4万元。

10. 船舶动力系统增强现实装配维修诱导系统设计(2014-4-4), 青岛市黄岛区海洋科技专项, 1/7 2015.1-2016.12,经费30万元。

11. 基于CAN总线的船用轴承运行状态在线监测系统开发, 91872部队, 1/5 2012.9-2014.9,经费20万元。

12. 海洋能发电电气输出特性离岸监测系统研制及产业化研究,青岛整流器制造有限公司,1/5, 2014.01-2015.12,经费15万元。

13. 摆式波浪能工程样机设计定型(QDME2013ZB01), 海洋可再生能源专项资金项目,3/24,2013.12-2016.6,经费1900万元。

14. 国家海洋能试验场公共浮式检测平台建设、测试及运行管理,(GHME2015ZC01), 海洋可再生能源专项资金项目,2/11,2015.7-2018.6,经费1600万元。

1. 基于一致性数字孪生模型的月基机器人装配技能学习与装配过程预测,国家自然科学基金面上项目,52175471,58万,2022.01-2025.12

2. 数字孪生驱动的遥操作机器人装配技能学习研究,山东省自然科学基金面上项目,ZR2021MF110,10万,2022.01-2024.12

3. 工业的机器人虚实融合示教研究(AR辅助工业人机交互创新团队)山东省高等学校青创科技支持计划,科学技术类,2019KJB020,2019.10-2022.10,18万元,在研,主持.

4. 制造系统场景在线感知及特征智能提取技术,国家重点研发计划子任务2018YFB1701302,2019.01-2022.12,参与单位负责人,承担经费67万元。

5. 陈成军:情景驱动的复杂机械装备增强现实拆装诱导研究,51105215, 25万,国家自然科学基金青年基金,2012.1-2014.12。

6. 基于深度学习的装配场景理解及装配诱导、监测研究,51475251, 经费80万,国家自然科学基金面上项目,2015.1-2018.12。

7. 投影式增强现实装配维修诱导系统研制,2017GGX203003;山东省重点研发计划2017.08-2019.07 经费15万元。

8. 基于信息-物理融合的数控加工在线防碰撞及加工精度感知研究(BS2012ZZ004), 山东省优秀中青年科学家奖励基金, 1/6 2012.6-2014. 经费5万元。

9. 情景驱动的复杂机械装备增强现实拆装诱导研究,20113721120003, 教育部博士学科点专项基金(新教师类), 1/8, 2012.1-2014.12,经费4万元。

10. 船舶动力系统增强现实装配维修诱导系统设计(2014-4-4), 青岛市黄岛区海洋科技专项, 1/7 2015.1-2016.12,经费30万元。

11. 基于CAN总线的船用轴承运行状态在线监测系统开发, 91872部队, 1/5 2012.9-2014.9,经费20万元。

12. 海洋能发电电气输出特性离岸监测系统研制及产业化研究,青岛整流器制造有限公司,1/5, 2014.01-2015.12,经费15万元。

13. 摆式波浪能工程样机设计定型(QDME2013ZB01), 海洋可再生能源专项资金项目,3/24,2013.12-2016.6,经费1900万元。

14. 国家海洋能试验场公共浮式检测平台建设、测试及运行管理,(GHME2015ZC01), 海洋可再生能源专项资金项目,2/11,2015.7-2018.6,经费1600万元。

科研论文

1. Chen, C.*, Zhang, C. & Pan, Y. Active compliance control of robot peg-in-hole assembly based on combined reinforcement learning. Applied Intelligence (2023). https://doi.org/10.1007/s10489-023-05156-5 (SCI Q1区,IF 6.3)

2. Jiang, W., Chen, C.*, Wang, C., Li, J., Zhao, M., **ang, T., & Wang, P.* (2023). Design of triboelectric nanogenerators featuring motion form conversion, motion rectification, and frequency multiplication for low-frequency ocean energy harvesting. Energy & Environmental Science. (SCI Q1区,TOP 期刊,IF 32.5)

3. Chengjun Chen*, Feixiang Shen, Chenggang Dai, SwinTD: Transformer-based detection network for foreign objects in the cut section of tobacco packets, Measurement, 2023, 112953,  https://doi.org/10.1016/j.measurement.2023.112953.(SCI Q1区,TOP 期刊,IF 5.131)

4. Wei Fang, Lixi Chen, Tienong Zhang, Chengjun Chen, Zhan Teng, Lihui Wang. Head-mounted display augmented reality in manufacturing: A systematic review. Robotics and Computer-Integrated Manufacturing.Volume 83, October 2023, 102567. (SCI Q1区,TOP期刊,IF 10.4 )

5. Chengjun Chen*, Chunlin Zhang, Jinlei Wang, Dongnian Li, Yang Li, Jun Hong, Semantic segmentation of mechanical assembly using selective kernel convolution UNet with fully connected conditional random field, Measurement, 2023, 112499, https://doi.org/10.1016/j.measurement.2023.112499. (SCI Q1区,TOP 期刊,IF  5.131)

6. Yong Pan, Chengjun Chen *, Zhengxu Zhao , Tianliang Hu , Jianhua Zhang. Robot teaching system based on hand-robot contact state detection and motion intention recognition. Robotics and Computer-Integrated Manufacturing. 81,  2023, 102492. (SCI Q1区,TOP期刊,IF  10.103)

7. C. Chen*, C. Zhang, C. Li and J. Hong, "Assembly Monitoring Using Semantic Segmentation Network Based on Multiscale Feature Maps and Trainable Guided Filter" in IEEE Transactions on Instrumentation and Measurement, vol. 71, pp. 1-11, 2022, Art no. 5021711, doi: 10.1109/TIM.2022.3204322. (SCI Q1区,TOP期刊,IF  5.332)

8. Chen Chengjun*, Li Changzhi, Li Dongnian, Zhao Zhengxu and Hong Jun, "Mechanical Assembly Monitoring Method Based on Depth Image Multiview Change Detection" ,IEEE Transactions on Instrumentation and Measurement, vol. 70, pp. 1-13, 2021, Art no. 5013413, doi: 10.1109/TIM.2021.3096872. (SCI Q1区,TOP期刊,IF  5.332)

9. Chengjun Chen*, Kai Huang, Dongnian Li, Yong Pan, Zhengxu Zhao, Jun Hong, Assembly torque data regression using sEMG and inertial signals, Journal of Manufacturing Systems, 2021,60, https://doi.org/10.1016/j.jmsy.2021.04.011. (SCI Q1区,TOP期刊,IF  12.1)

10. Yong Pan, Chengjun Chen*, Dongnian Li, Zhengxu Zhao, Jun Hong, Augmented reality-based robot teleoperation system using RGB-D imaging and attitude teaching device,Robotics and Computer-Integrated Manufacturing, 2021,71,102167,https://doi.org/10.1016/j.rcim.2021.102167. (SCI Q1区,TOP期刊,IF  10.4)

11. Chengjun Chen*, Yong Pan, Dongnian Li, Shilei Zhang, Zhengxu Zhao, Jun Hong, A virtual-physical collision detection interface for AR-based interactive teaching of robot, Robotics and Computer-Integrated Manufacturing, Volume 64, 2020, 101948, (SCI Q1区,TOP期刊,IF 10.4).  

12. Chengjun Chen*, Tiannuo Wang, Dongnian Li, Jun Hong, Repetitive assembly action recognition based on object detection and pose estimation,Journal of Manufacturing Systems, Volume 55(2020): 325-333, (SCI Q1区,TOP期刊,IF 12.1)

1. Chen, C.*, Zhang, C. & Pan, Y. Active compliance control of robot peg-in-hole assembly based on combined reinforcement learning. Applied Intelligence (2023). https://doi.org/10.1007/s10489-023-05156-5 (SCI Q1区,IF 6.3)

2. Jiang, W., Chen, C.*, Wang, C., Li, J., Zhao, M., **ang, T., & Wang, P.* (2023). Design of triboelectric nanogenerators featuring motion form conversion, motion rectification, and frequency multiplication for low-frequency ocean energy harvesting. Energy & Environmental Science. (SCI Q1区,TOP 期刊,IF 32.5)

3. Chengjun Chen*, Feixiang Shen, Chenggang Dai, SwinTD: Transformer-based detection network for foreign objects in the cut section of tobacco packets, Measurement, 2023, 112953,  https://doi.org/10.1016/j.measurement.2023.112953.(SCI Q1区,TOP 期刊,IF 5.131)

4. Wei Fang, Lixi Chen, Tienong Zhang, Chengjun Chen, Zhan Teng, Lihui Wang. Head-mounted display augmented reality in manufacturing: A systematic review. Robotics and Computer-Integrated Manufacturing.Volume 83, October 2023, 102567. (SCI Q1区,TOP期刊,IF 10.4 )

5. Chengjun Chen*, Chunlin Zhang, Jinlei Wang, Dongnian Li, Yang Li, Jun Hong, Semantic segmentation of mechanical assembly using selective kernel convolution UNet with fully connected conditional random field, Measurement, 2023, 112499, https://doi.org/10.1016/j.measurement.2023.112499. (SCI Q1区,TOP 期刊,IF  5.131)

6. Yong Pan, Chengjun Chen *, Zhengxu Zhao , Tianliang Hu , Jianhua Zhang. Robot teaching system based on hand-robot contact state detection and motion intention recognition. Robotics and Computer-Integrated Manufacturing. 81,  2023, 102492. (SCI Q1区,TOP期刊,IF  10.103)

7. C. Chen*, C. Zhang, C. Li and J. Hong, "Assembly Monitoring Using Semantic Segmentation Network Based on Multiscale Feature Maps and Trainable Guided Filter" in IEEE Transactions on Instrumentation and Measurement, vol. 71, pp. 1-11, 2022, Art no. 5021711, doi: 10.1109/TIM.2022.3204322. (SCI Q1区,TOP期刊,IF  5.332)

8. Chen Chengjun*, Li Changzhi, Li Dongnian, Zhao Zhengxu and Hong Jun, "Mechanical Assembly Monitoring Method Based on Depth Image Multiview Change Detection" ,IEEE Transactions on Instrumentation and Measurement, vol. 70, pp. 1-13, 2021, Art no. 5013413, doi: 10.1109/TIM.2021.3096872. (SCI Q1区,TOP期刊,IF  5.332)

9. Chengjun Chen*, Kai Huang, Dongnian Li, Yong Pan, Zhengxu Zhao, Jun Hong, Assembly torque data regression using sEMG and inertial signals, Journal of Manufacturing Systems, 2021,60, https://doi.org/10.1016/j.jmsy.2021.04.011. (SCI Q1区,TOP期刊,IF  12.1)

10. Yong Pan, Chengjun Chen*, Dongnian Li, Zhengxu Zhao, Jun Hong, Augmented reality-based robot teleoperation system using RGB-D imaging and attitude teaching device,Robotics and Computer-Integrated Manufacturing, 2021,71,102167,https://doi.org/10.1016/j.rcim.2021.102167. (SCI Q1区,TOP期刊,IF  10.4)

11. Chengjun Chen*, Yong Pan, Dongnian Li, Shilei Zhang, Zhengxu Zhao, Jun Hong, A virtual-physical collision detection interface for AR-based interactive teaching of robot, Robotics and Computer-Integrated Manufacturing, Volume 64, 2020, 101948, (SCI Q1区,TOP期刊,IF 10.4).  

12. Chengjun Chen*, Tiannuo Wang, Dongnian Li, Jun Hong, Repetitive assembly action recognition based on object detection and pose estimation,Journal of Manufacturing Systems, Volume 55(2020): 325-333, (SCI Q1区,TOP期刊,IF 12.1)

发明专利

1. 陈成军、张春林、李东年、洪军,基于深度学习和引导滤波的装配体图像分割方法及设备,授权号:ZL202110545574.7,青岛理工大学,发明授权,授权日:2022-12-27

2. 陈成军、吴遂超、刘庭煜、李东年、洪军,一种基于深度图像对比的装配体多视角检测方法和系统,授权号:ZL202110505998.0,青岛理工大学,授权日:发明授权,2022-10-11

3. 陈成军、李长治、史宏思、李东年、洪军,基于多模型集成的装配体变化检测方法、设备和介质,授权号:ZL202110507269.9,青岛理工大学,发明授权,授权日:2022-04-01

4. 陈成军、李长治、史宏思、李东年、洪军,一种基于无监督学习的装配体变化检测方法及设备,授权号:ZL202110506000.9,青岛理工大学,发明授权,授权日:2022-12-27

5. 陈成军、岳耀帅、李东年、洪军,一种基于特征匹配的装配体多视角变化检测方法及设备,授权号:ZL202110506029.7,青岛理工大学,发明授权,授权日:2022-09-09

6. 陈成军、李长治、李东年、洪军,基于注意力机制的装配体变化检测方法、设备和介质,授权号:ZL202110507300.9,青岛理工大学,发明授权,授权日:2022-12-27

7. 陈成军、黄凯、刘庭煜、李东年、洪军,一种基于目标检测的连接件装配检测方法和系统,授权号:ZL202110504071.5,青岛理工大学,发明授权,授权日:2022-09-20

8. 陈成军、李长治、潘勇、李东年、洪军,一种基于深度学习的装配体零件相对位姿估计监测方法,授权号:ZL202110117860.3,青岛理工大学,发明授权,授权日:2022-11-22

9. 邵晶、韩素立、孙树峰、杨勇、陈成军、张若兰、董浩,一种光束整形的激光加工装置及方法,授权号:ZL202011428508.3,青岛理工大学,发明授权,授权日:2022-08-05

10. 陈成军、黄凯、李东年、赵正旭、高玮、洪军,一种基于回归神经网络的装配扭矩监测系统及监测方法,授权号:ZL202011365025.3,青岛理工大学,发明授权,授权日:2022-10-11

11. 潘勇、陈成军、李东年、赵正旭、洪军,基于图像分割及表面肌电信号的机器人示教系统及方法,授权号:ZL202011348771.1,青岛理工大学,发明授权,授权日:2022-02-11

12. 陈成军、张春林、李东年、潘勇、高玮、赵正旭、洪军,一种基于深度学习网络的机械装配体图像分割方法和设备,授权号:ZL202011310983.0,青岛理工大学,发明授权,授权日:2022-09-20

13. 陈成军、孙振武、李东年、洪军,一种面向拆装作业的增强现实诱导与远程协作开发系统,授权号:ZL202010843344.4,青岛理工大学,发明授权,授权日:2022-06-10

14. 陈成军、丁旭彤、潘勇、李东年、洪军,一种基于增强现实技术的工业机器人示教系统及方法,授权号:ZL202010211069.4,青岛理工大学,发明授权,授权日:2022-11-15

15. 潘勇、陈成军、丁旭彤、李东年、洪军,一种基于标识卡运动的机器人增强现实示教的注册系统及方法,授权号:ZL202010211008.8,青岛理工大学,发明授权,授权日:2022-11-15

16. 陈成军、黄凯、李东年、郑帅、洪军,基于多粒度并联ZLN模型的肌电信号-扭矩匹配方法,授权号:ZL202010116661.6青岛理工大学、西安交通大学,发明授权,授权日:2021-06-25

17. 陈成军、潘勇、李东年、洪军,基于RGB-D图像及示教器的机器人示教系统及方法,授权号:ZL201910665326.9,青岛理工大学,发明授权,授权日:2020-09-18

18. 黄凯、陈成军、李东年、洪军,装配拧紧过程样本采集系统、深度学习网络及监测系统,授权号:ZL201910447507.4,青岛理工大学,发明授权,授权日:2021-04-27

19. 陈成军、张春林、李东年、洪军,一种基于深度学习的装配监测方法、设备及可读存储介质,授权号:ZL201910131395.1,青岛理工大学,发明授权,授权日:2020-09-18

20. 陈成军、邵晶、李东年、洪军,一种投影式增强现实图像生成方法及系统,授权号:ZL201811135286.9,青岛理工大学,发明授权,授权日:2020-04-28

21. 陈成军、李东年、于浩、洪军、井陆阳,基于视觉和力觉触觉增强现实的工业人机交互系统及方法,授权号:ZL201810721556.8,青岛理工大学,发明授权,授权日:2022-02-11

22. 陈成军、张石磊、李东年、洪军,一种虚实物体之间碰撞及遮挡检测方法及系统,授权号:ZL201810628292.1,青岛理工大学,发明授权,授权日:2022-05-13

23. 陈成军、张昊苏、李波、于长校、邵洪波、于浩,一种纸托盘的托盘脚快速分布粘贴装置,授权号:ZL201810285744.0,青岛理工大学、济南泰德包装科技有限公司,发明授权,授权日:2019-11-08

24. 陈成军、于浩、李波、于长校、邵洪波,一种纸托盘的托盘脚快速分布装置,授权号:ZL201810285742.1,青岛理工大学、济南泰德包装科技有限公司,发明授权,授权日:2019-09-06,

25. 李东年、田中可、陈成军,基于像素分类的装配体零件识别方法、装置及监测系统,授权号:ZL201810201904.9,青岛理工大学,发明授权,授权日:2020-05-19

26. 陈成军、于浩、李东年、信寄遥、王天诺,一种增强现实仪表系统,授权号:ZL201810195373.7,青岛理工大学,发明授权,授权日:2020-07-07

27. 陈成军、于浩、信寄遥、王天诺,一种工业软件计件加密方法,授权号:ZL201810195387.9,青岛理工大学、济南舜茂试验仪器有限公司,发明授权,授权日:2021-04-30

28. 陈成军、于浩、信寄遥、王天诺,一种基于增强现实的列车智能巡检方法,授权号:ZL201810190268.4,青岛理工大学,发明授权,授权日:2020-10-09

29. 陈成军、张石磊、李东年、洪军,基于增强现实的机器人在线示教装置、系统、方法、设备,授权号:ZL201810019213.7,青岛理工大学,发明授权,授权日:2019-12-03

30. 陈成军、张石磊、李东年、洪军,一种机器人示教编程系统及方法授权号:ZL201710691832.6,青岛理工大学,发明授权,授权日:2019-08-06

31. 邵晶、孙树峰、谭继文、韩素立、陈成军、刘新福,一种具有轴向多传感器的水下光学成像装置,授权号:ZL201710380099.6,青岛理工大学,发明授权授权日:2019-07-23,

32. 邵晶、孙树峰、谭继文、韩素立、刘新福、陈成军、林海波,一种水下后向散射传递函数的光学测试装置及方法授权号:ZL201710379504.2,青岛理工大学,发明授权,授权日:2019-08-27

33. 陈成军、张昊苏、田中可,一种steward型万向波浪能转换装置,授权号:ZL201710111087.3,青岛理工大学,发明授权,授权日:2019-03-08

34. 陈成军、张昊苏、张石磊、庞列勇、田中可,一种万向摆型浪能转换装置,授权号:ZL201710053413.X,青岛理工大学,发明授权,授权日:2018-10-02

35. 陈成军、时文昌,一种旋转滚筒式柔性片状物质吸取设备,授权号:ZL201710041867.5,青岛理工大学,发明授权,授权日:2018-11-23

36. 杨勇、申文涛、刘绪阳、隋昱良、陈成军,一种海流能高效捕获与利用装置,授权号:ZL201610702869.X,青岛理工大学,发明授权,授权日:2018-09-07

37. 陈成军、洪军、孙树峰、刘鹏、丁文科,一种集成可穿戴设备的测试系统及其运行方法,授权号:ZL201610221717.8,青岛理工大学,发明授权,授权日:2017-12-05

38. 成军、刘鹏、丁文科,一种基于可穿戴设备的制造系统的运行方法,授权号:ZL201610148781.8,青岛理工大学,发明授权,授权日:2018-02-16

39. 陈成军、时文昌、陈东海、张锐、左帅卿、王海、陈云禄,一种纸币整理设备,授权号:ZL201610095441.3,青岛理工大学,发明授权,授权日:2017-08-29

40. 陈成军、周有杰、朱旭昊、张静、张明帅、邵俊豪、隋昱良,一种快速包装设备,授权号:ZL201610095448.5,青岛理工大学,发明授权,授权日:2017-06-30

41. 陈成军、王迎飞、葛洋、刘康、韩雁吉、王洁,一种纸币分拣设备,授权号:ZL201610095435.8,青岛理工大学,发明授权,授权日:2018-01-23

42. 陈成军、张明帅、朱旭昊、邵俊豪、周有杰、张静、吴文哲,一种针对不同型号纸箱的封装装置,授权号:ZL201610095443.2,青岛理工大学,发明授权,授权日:2017-08-25

43. 陈成军、张静、朱旭昊、张明帅、邵俊豪、周有杰、傅瑶,一种可升降的3D打印泡沫填充装置,授权号:ZL201610095447.0,青岛理工大学,发明授权,授权日:2017-06-23

44. 陈成军、邵俊豪、朱旭昊、周有杰、张静、张明帅、隋昱良、白小雪,一种柔性撑箱装置,授权号:ZL201610095445.1,青岛理工大学,发明授权,授权日:2017-10-03

45. 陈成军、时文昌、陈东海、张锐、左帅卿、王海、陈云禄,一种硬币分拣设备,授权号:ZL201610095444.7,青岛理工大学,发明授权,授权日:2017-12-19

46. 陈成军、栗江、王瑛皓、李珂、邢美静、徐会成,一种基于弹射原理的距离可控式联动分批鱼料投射装置,授权号:ZL201510232873.X,青岛理工大学,发明授权,授权日:2017-02-22

47. 陈成军、李珂、徐会成、邢美静、栗江、王瑛皓,一种内外双螺旋式滚筒传送装置,授权号:ZL201510232545.X,青岛理工大学,发明授权,授权日:2017-03-29

48. 陈成军、邢美静、徐会成、栗江、李珂、王瑛皓,一种自动化定时定量全方位鱼塘投料机,授权号:ZL201510234036.0,青岛理工大学,发明授权,授权日:2017-01-25

49. 陈成军、惠英龙、刘鹏,一种花生联合收获机摘果机构,授权号:ZL201510234039.4,青岛理工大学,发明授权,授权日:2016-07-06

50. 陈成军、丁文科、刘鹏,可调节对称摆板式波浪能发电装置,授权号:ZL201510175943.2,青岛理工大学,发明授权,授权日:2017-02-22

51. 陈成军、李全宝、王亚琪,基于万向节与滚珠丝杠结构的并联型去毛刺机及去毛刺方法,授权号:ZL201410386379.4,青岛理工大学,发明授权,授权日:2017-02-22

52. 陈成军、王涛、常世勇、李宝超、刘承诚、刑美静、朱战伟、张天佑,一种汉堡自动制作机,授权号:ZL201410387199.8,青岛理工大学,发明授权,授权日:2016-07-06

53. 陈成军、马全胜、李为明、刘振威,基于连杆机构的多功能教具,授权号:ZL201310676305.X,青岛理工大学,发明授权,授权日:2015-10-07

54. 陈成军、孙晓坤、于晓东、郝迥越、杨元月、周来,一种基于拉线控制的机械手,授权号:ZL201310676401.4,青岛理工大学,发明授权,授权日:2016-04-20

55. 陈成军、李全宝、赵帅帅,一种海洋能发电装置扭矩监测系统,授权号:授权日:ZL201310681839.1,青岛理工大学,发明授权,2015-10-07

56. 陈成军、赵帅帅,可活动叶片式潮汐发电装置,授权号:ZL201310223303.5,青岛理工大学,发明授权,授权日:2016-04-20

57. 陈成军、洪军,一种具有智能诱导功能的扳手系统及测量方法和诱导方法,授权号:ZL201210258599.X,青岛理工大学,发明授权,授权日:2014-10-08

58. 陈成军、杨发展,一种纸箱手提把上提手自动整理设备,授权号:ZL201210117283.9,青岛理工大学,发明授权,授权日:2013-11-06

59. 陈成军、杨发展,一种纸箱手提把安装设备,授权号:ZL201210117303.2青岛理工大学,发明授权,授权日:2013-08-07

60. 杨发展、陈成军,包装纸箱提手柔性自动安装生产线,授权号:ZL201210117331.4,青岛理工大学,发明授权,授权日:2013-07-10

61. 陈成军、洪军,一种机械设备拆装3D在线诱导系统的诱导方法授权号:ZL201210117308.5,青岛理工大学,发明授权,授权日:2014-10-08

62. 陈成军、 于浩、 信寄遥、 王天诺,一种基于增强现实的远程监测及控制系统,授权号:ZL 201810236758.3 ,烟台朗文汽车零部件有限公司,发明授权,授权日:2020-05-12

63. 陈成军、史宏思,一种用于水下的静止扭矩传感器,授权号:ZL 201510152350.4, 青岛整流器制造有限公司,发明授权,授权日:2017-03-01

64. 陈成军、刘鹏,一种电液混合驱动的丝杠传动系统及其控制方法,授权号:ZL 201510153303.1, 青岛整流器制造有限公司,发明授权,授权日:2017-06-30

65. 陈成军、潘勇、李东年、洪军,System and method for robot teaching based on RGB-D Images and teach pendant,专利号:US011440179B2, Qingdao University of Technology,美国发明专利,授权日:2022-09-13

66. 潘勇、陈成军、李东年、洪军、赵正旭,画像分割及び表面筋電図に基づくロボットの教示システム及び方法(基于图像分割及表面肌电信号的机器人示教系统及方法),专利号2021-007163, Qingdao University of Technology,日本发明专利,授权日:2022-05-06

67. Chengjun Chen Chunlin Zhang Dongnian Li Jun Hong, ASSEMBLY MONITORING METHOD AND DEVICE BASED ON DEEP LEARNING, AND READABLE STORAGE MEDIUM,专利号US 10,964,025 B2, Qingdao University of Technology,美国发明专利,授权日:

68. CHEN, Chengjun; PAN, Yong; LI, Dongnian and HONG, Jun, System and method for robot teaching based on RGB-D images and teach pendant,专利号2020201554, Qingdao University of Technology,澳大利亚发明专利,授权日:

1. 陈成军、张春林、李东年、洪军,基于深度学习和引导滤波的装配体图像分割方法及设备,授权号:ZL202110545574.7,青岛理工大学,发明授权,授权日:2022-12-27

2. 陈成军、吴遂超、刘庭煜、李东年、洪军,一种基于深度图像对比的装配体多视角检测方法和系统,授权号:ZL202110505998.0,青岛理工大学,授权日:发明授权,2022-10-11

3. 陈成军、李长治、史宏思、李东年、洪军,基于多模型集成的装配体变化检测方法、设备和介质,授权号:ZL202110507269.9,青岛理工大学,发明授权,授权日:2022-04-01

4. 陈成军、李长治、史宏思、李东年、洪军,一种基于无监督学习的装配体变化检测方法及设备,授权号:ZL202110506000.9,青岛理工大学,发明授权,授权日:2022-12-27

5. 陈成军、岳耀帅、李东年、洪军,一种基于特征匹配的装配体多视角变化检测方法及设备,授权号:ZL202110506029.7,青岛理工大学,发明授权,授权日:2022-09-09

6. 陈成军、李长治、李东年、洪军,基于注意力机制的装配体变化检测方法、设备和介质,授权号:ZL202110507300.9,青岛理工大学,发明授权,授权日:2022-12-27

7. 陈成军、黄凯、刘庭煜、李东年、洪军,一种基于目标检测的连接件装配检测方法和系统,授权号:ZL202110504071.5,青岛理工大学,发明授权,授权日:2022-09-20

8. 陈成军、李长治、潘勇、李东年、洪军,一种基于深度学习的装配体零件相对位姿估计监测方法,授权号:ZL202110117860.3,青岛理工大学,发明授权,授权日:2022-11-22

9. 邵晶、韩素立、孙树峰、杨勇、陈成军、张若兰、董浩,一种光束整形的激光加工装置及方法,授权号:ZL202011428508.3,青岛理工大学,发明授权,授权日:2022-08-05

10. 陈成军、黄凯、李东年、赵正旭、高玮、洪军,一种基于回归神经网络的装配扭矩监测系统及监测方法,授权号:ZL202011365025.3,青岛理工大学,发明授权,授权日:2022-10-11

11. 潘勇、陈成军、李东年、赵正旭、洪军,基于图像分割及表面肌电信号的机器人示教系统及方法,授权号:ZL202011348771.1,青岛理工大学,发明授权,授权日:2022-02-11

12. 陈成军、张春林、李东年、潘勇、高玮、赵正旭、洪军,一种基于深度学习网络的机械装配体图像分割方法和设备,授权号:ZL202011310983.0,青岛理工大学,发明授权,授权日:2022-09-20

13. 陈成军、孙振武、李东年、洪军,一种面向拆装作业的增强现实诱导与远程协作开发系统,授权号:ZL202010843344.4,青岛理工大学,发明授权,授权日:2022-06-10

14. 陈成军、丁旭彤、潘勇、李东年、洪军,一种基于增强现实技术的工业机器人示教系统及方法,授权号:ZL202010211069.4,青岛理工大学,发明授权,授权日:2022-11-15

15. 潘勇、陈成军、丁旭彤、李东年、洪军,一种基于标识卡运动的机器人增强现实示教的注册系统及方法,授权号:ZL202010211008.8,青岛理工大学,发明授权,授权日:2022-11-15

16. 陈成军、黄凯、李东年、郑帅、洪军,基于多粒度并联ZLN模型的肌电信号-扭矩匹配方法,授权号:ZL202010116661.6青岛理工大学、西安交通大学,发明授权,授权日:2021-06-25

17. 陈成军、潘勇、李东年、洪军,基于RGB-D图像及示教器的机器人示教系统及方法,授权号:ZL201910665326.9,青岛理工大学,发明授权,授权日:2020-09-18

18. 黄凯、陈成军、李东年、洪军,装配拧紧过程样本采集系统、深度学习网络及监测系统,授权号:ZL201910447507.4,青岛理工大学,发明授权,授权日:2021-04-27

19. 陈成军、张春林、李东年、洪军,一种基于深度学习的装配监测方法、设备及可读存储介质,授权号:ZL201910131395.1,青岛理工大学,发明授权,授权日:2020-09-18

20. 陈成军、邵晶、李东年、洪军,一种投影式增强现实图像生成方法及系统,授权号:ZL201811135286.9,青岛理工大学,发明授权,授权日:2020-04-28

21. 陈成军、李东年、于浩、洪军、井陆阳,基于视觉和力觉触觉增强现实的工业人机交互系统及方法,授权号:ZL201810721556.8,青岛理工大学,发明授权,授权日:2022-02-11

22. 陈成军、张石磊、李东年、洪军,一种虚实物体之间碰撞及遮挡检测方法及系统,授权号:ZL201810628292.1,青岛理工大学,发明授权,授权日:2022-05-13

23. 陈成军、张昊苏、李波、于长校、邵洪波、于浩,一种纸托盘的托盘脚快速分布粘贴装置,授权号:ZL201810285744.0,青岛理工大学、济南泰德包装科技有限公司,发明授权,授权日:2019-11-08

24. 陈成军、于浩、李波、于长校、邵洪波,一种纸托盘的托盘脚快速分布装置,授权号:ZL201810285742.1,青岛理工大学、济南泰德包装科技有限公司,发明授权,授权日:2019-09-06,

25. 李东年、田中可、陈成军,基于像素分类的装配体零件识别方法、装置及监测系统,授权号:ZL201810201904.9,青岛理工大学,发明授权,授权日:2020-05-19

26. 陈成军、于浩、李东年、信寄遥、王天诺,一种增强现实仪表系统,授权号:ZL201810195373.7,青岛理工大学,发明授权,授权日:2020-07-07

27. 陈成军、于浩、信寄遥、王天诺,一种工业软件计件加密方法,授权号:ZL201810195387.9,青岛理工大学、济南舜茂试验仪器有限公司,发明授权,授权日:2021-04-30

28. 陈成军、于浩、信寄遥、王天诺,一种基于增强现实的列车智能巡检方法,授权号:ZL201810190268.4,青岛理工大学,发明授权,授权日:2020-10-09

29. 陈成军、张石磊、李东年、洪军,基于增强现实的机器人在线示教装置、系统、方法、设备,授权号:ZL201810019213.7,青岛理工大学,发明授权,授权日:2019-12-03

30. 陈成军、张石磊、李东年、洪军,一种机器人示教编程系统及方法授权号:ZL201710691832.6,青岛理工大学,发明授权,授权日:2019-08-06

31. 邵晶、孙树峰、谭继文、韩素立、陈成军、刘新福,一种具有轴向多传感器的水下光学成像装置,授权号:ZL201710380099.6,青岛理工大学,发明授权授权日:2019-07-23,

32. 邵晶、孙树峰、谭继文、韩素立、刘新福、陈成军、林海波,一种水下后向散射传递函数的光学测试装置及方法授权号:ZL201710379504.2,青岛理工大学,发明授权,授权日:2019-08-27

33. 陈成军、张昊苏、田中可,一种steward型万向波浪能转换装置,授权号:ZL201710111087.3,青岛理工大学,发明授权,授权日:2019-03-08

34. 陈成军、张昊苏、张石磊、庞列勇、田中可,一种万向摆型浪能转换装置,授权号:ZL201710053413.X,青岛理工大学,发明授权,授权日:2018-10-02

35. 陈成军、时文昌,一种旋转滚筒式柔性片状物质吸取设备,授权号:ZL201710041867.5,青岛理工大学,发明授权,授权日:2018-11-23

36. 杨勇、申文涛、刘绪阳、隋昱良、陈成军,一种海流能高效捕获与利用装置,授权号:ZL201610702869.X,青岛理工大学,发明授权,授权日:2018-09-07

37. 陈成军、洪军、孙树峰、刘鹏、丁文科,一种集成可穿戴设备的测试系统及其运行方法,授权号:ZL201610221717.8,青岛理工大学,发明授权,授权日:2017-12-05

38. 成军、刘鹏、丁文科,一种基于可穿戴设备的制造系统的运行方法,授权号:ZL201610148781.8,青岛理工大学,发明授权,授权日:2018-02-16

39. 陈成军、时文昌、陈东海、张锐、左帅卿、王海、陈云禄,一种纸币整理设备,授权号:ZL201610095441.3,青岛理工大学,发明授权,授权日:2017-08-29

40. 陈成军、周有杰、朱旭昊、张静、张明帅、邵俊豪、隋昱良,一种快速包装设备,授权号:ZL201610095448.5,青岛理工大学,发明授权,授权日:2017-06-30

41. 陈成军、王迎飞、葛洋、刘康、韩雁吉、王洁,一种纸币分拣设备,授权号:ZL201610095435.8,青岛理工大学,发明授权,授权日:2018-01-23

42. 陈成军、张明帅、朱旭昊、邵俊豪、周有杰、张静、吴文哲,一种针对不同型号纸箱的封装装置,授权号:ZL201610095443.2,青岛理工大学,发明授权,授权日:2017-08-25

43. 陈成军、张静、朱旭昊、张明帅、邵俊豪、周有杰、傅瑶,一种可升降的3D打印泡沫填充装置,授权号:ZL201610095447.0,青岛理工大学,发明授权,授权日:2017-06-23

44. 陈成军、邵俊豪、朱旭昊、周有杰、张静、张明帅、隋昱良、白小雪,一种柔性撑箱装置,授权号:ZL201610095445.1,青岛理工大学,发明授权,授权日:2017-10-03

45. 陈成军、时文昌、陈东海、张锐、左帅卿、王海、陈云禄,一种硬币分拣设备,授权号:ZL201610095444.7,青岛理工大学,发明授权,授权日:2017-12-19

46. 陈成军、栗江、王瑛皓、李珂、邢美静、徐会成,一种基于弹射原理的距离可控式联动分批鱼料投射装置,授权号:ZL201510232873.X,青岛理工大学,发明授权,授权日:2017-02-22

47. 陈成军、李珂、徐会成、邢美静、栗江、王瑛皓,一种内外双螺旋式滚筒传送装置,授权号:ZL201510232545.X,青岛理工大学,发明授权,授权日:2017-03-29

48. 陈成军、邢美静、徐会成、栗江、李珂、王瑛皓,一种自动化定时定量全方位鱼塘投料机,授权号:ZL201510234036.0,青岛理工大学,发明授权,授权日:2017-01-25

49. 陈成军、惠英龙、刘鹏,一种花生联合收获机摘果机构,授权号:ZL201510234039.4,青岛理工大学,发明授权,授权日:2016-07-06

50. 陈成军、丁文科、刘鹏,可调节对称摆板式波浪能发电装置,授权号:ZL201510175943.2,青岛理工大学,发明授权,授权日:2017-02-22

51. 陈成军、李全宝、王亚琪,基于万向节与滚珠丝杠结构的并联型去毛刺机及去毛刺方法,授权号:ZL201410386379.4,青岛理工大学,发明授权,授权日:2017-02-22

52. 陈成军、王涛、常世勇、李宝超、刘承诚、刑美静、朱战伟、张天佑,一种汉堡自动制作机,授权号:ZL201410387199.8,青岛理工大学,发明授权,授权日:2016-07-06

53. 陈成军、马全胜、李为明、刘振威,基于连杆机构的多功能教具,授权号:ZL201310676305.X,青岛理工大学,发明授权,授权日:2015-10-07

54. 陈成军、孙晓坤、于晓东、郝迥越、杨元月、周来,一种基于拉线控制的机械手,授权号:ZL201310676401.4,青岛理工大学,发明授权,授权日:2016-04-20

55. 陈成军、李全宝、赵帅帅,一种海洋能发电装置扭矩监测系统,授权号:授权日:ZL201310681839.1,青岛理工大学,发明授权,2015-10-07

56. 陈成军、赵帅帅,可活动叶片式潮汐发电装置,授权号:ZL201310223303.5,青岛理工大学,发明授权,授权日:2016-04-20

57. 陈成军、洪军,一种具有智能诱导功能的扳手系统及测量方法和诱导方法,授权号:ZL201210258599.X,青岛理工大学,发明授权,授权日:2014-10-08

58. 陈成军、杨发展,一种纸箱手提把上提手自动整理设备,授权号:ZL201210117283.9,青岛理工大学,发明授权,授权日:2013-11-06

59. 陈成军、杨发展,一种纸箱手提把安装设备,授权号:ZL201210117303.2青岛理工大学,发明授权,授权日:2013-08-07

60. 杨发展、陈成军,包装纸箱提手柔性自动安装生产线,授权号:ZL201210117331.4,青岛理工大学,发明授权,授权日:2013-07-10

61. 陈成军、洪军,一种机械设备拆装3D在线诱导系统的诱导方法授权号:ZL201210117308.5,青岛理工大学,发明授权,授权日:2014-10-08

62. 陈成军、 于浩、 信寄遥、 王天诺,一种基于增强现实的远程监测及控制系统,授权号:ZL 201810236758.3 ,烟台朗文汽车零部件有限公司,发明授权,授权日:2020-05-12

63. 陈成军、史宏思,一种用于水下的静止扭矩传感器,授权号:ZL 201510152350.4, 青岛整流器制造有限公司,发明授权,授权日:2017-03-01

64. 陈成军、刘鹏,一种电液混合驱动的丝杠传动系统及其控制方法,授权号:ZL 201510153303.1, 青岛整流器制造有限公司,发明授权,授权日:2017-06-30

65. 陈成军、潘勇、李东年、洪军,System and method for robot teaching based on RGB-D Images and teach pendant,专利号:US011440179B2, Qingdao University of Technology,美国发明专利,授权日:2022-09-13

66. 潘勇、陈成军、李东年、洪军、赵正旭,画像分割及び表面筋電図に基づくロボットの教示システム及び方法(基于图像分割及表面肌电信号的机器人示教系统及方法),专利号2021-007163, Qingdao University of Technology,日本发明专利,授权日:2022-05-06

67. Chengjun Chen Chunlin Zhang Dongnian Li Jun Hong, ASSEMBLY MONITORING METHOD AND DEVICE BASED ON DEEP LEARNING, AND READABLE STORAGE MEDIUM,专利号US 10,964,025 B2, Qingdao University of Technology,美国发明专利,授权日:

68. CHEN, Chengjun; PAN, Yong; LI, Dongnian and HONG, Jun, System and method for robot teaching based on RGB-D images and teach pendant,专利号2020201554, Qingdao University of Technology,澳大利亚发明专利,授权日:

软件著作权

[1] 基于深度图像的装配体零件识别与监测软件, 2018SR722105, 原始取得, 全部权利, 2018.7.11

[2]基于深度图像的虚实碰撞检测软件, 2018SR667670, 原始取得, 全部权利, 2018.5.1

[3] 投影式增强现实装配诱导注册软件, 2018SR667658, 原始取得, 全部权利, 2018.6.1

[4] 基于深度图像物体位姿估计及的增强现实注册软件, 2018SR344852, 原始取得, 全部权利, 2017.12.01

[5] 螺栓装配拧紧力矩监测样本采集软件,2019SR0941004,原始取得,全部权利,2019.09.10

[6]  增强现实数据可视化系统数据提取及分发软件,2019SR1120224,原始取得,全部权利,2019.11.06

[7]  增强现实数据可视化系统数据显示及配置软件,2019SR1121475,原始取得,全部权利,2019.11.06

[8] 基于RGB-D图像及惯性传感器的机器人示教软件,2020SR0273842, 原始取得,全部权利,2020.3.19

[9] 空间目标监测信息加密电路系统虚拟仿真实验平台2023SR0538538,2023.5.15 (个人排名第8)

[10] 基于深度学习的装配过程检测软件,2021SR2004671,原始取得,全部权利,2021.12.06

[11] 基于目标检测的装配过程监测软件,2021SR1993832,原始取得,全部权利,2021,12.3

[1] 基于深度图像的装配体零件识别与监测软件, 2018SR722105, 原始取得, 全部权利, 2018.7.11

[2]基于深度图像的虚实碰撞检测软件, 2018SR667670, 原始取得, 全部权利, 2018.5.1

[3] 投影式增强现实装配诱导注册软件, 2018SR667658, 原始取得, 全部权利, 2018.6.1

[4] 基于深度图像物体位姿估计及的增强现实注册软件, 2018SR344852, 原始取得, 全部权利, 2017.12.01

[5] 螺栓装配拧紧力矩监测样本采集软件,2019SR0941004,原始取得,全部权利,2019.09.10

[6]  增强现实数据可视化系统数据提取及分发软件,2019SR1120224,原始取得,全部权利,2019.11.06

[7]  增强现实数据可视化系统数据显示及配置软件,2019SR1121475,原始取得,全部权利,2019.11.06

[8] 基于RGB-D图像及惯性传感器的机器人示教软件,2020SR0273842, 原始取得,全部权利,2020.3.19

[9] 空间目标监测信息加密电路系统虚拟仿真实验平台2023SR0538538,2023.5.15 (个人排名第8)

[10] 基于深度学习的装配过程检测软件,2021SR2004671,原始取得,全部权利,2021.12.06

[11] 基于目标检测的装配过程监测软件,2021SR1993832,原始取得,全部权利,2021,12.3

其他项目

制订标准

1. 标准名称:工业机器人增强现实示教系统技术规范,标准号:T/QME 0302-2022,发布日期:2022-12-22.

2.     标准名称:基于深度学习的装配过程监测技术规范,标准号:T/QME 0303-2022,发布日期:2022-12-21,

制订标准

1. 标准名称:工业机器人增强现实示教系统技术规范,标准号:T/QME 0302-2022,发布日期:2022-12-22.

2.     标准名称:基于深度学习的装配过程监测技术规范,标准号:T/QME 0303-2022,发布日期:2022-12-21,

获奖情况

1. 面向生产现场的移动增强现实辅助技术与应用,山东省技术发明二等奖,1/9,2023年12月。

2. 过程监测感知驱动的复杂产品装配维修可视化诱导技术及应用,山东省技术发明二等奖,1/10,2022年12月。

3. 情景智能感知驱动的装配维修AR辅助诱导技术与应用,青岛市科技进步一等奖,1/12, 2022年11月。

4. 2021年中国产学研合作创新与促进奖(产学研合作创新奖)(2021)

5. 产品装配过程智能监测与AR诱导技术创新及应用,全国商业科技进步二等奖,1/8,2021.12

6. 西海岸新区优秀青年人才(2016年)

7.     Emerald出版集团2022年Emerald Literati杰出论文奖(Outstanding paper)

8. 青岛市青年科技奖(2016年)

9. 山东省高等学校科学技术奖三等奖(2015年);

10. 山东省教学成果三等奖(2014年)

11. 山东省教学成果一等奖(2022年)

12. 山东省教学成果一等奖(2018年)

1. 面向生产现场的移动增强现实辅助技术与应用,山东省技术发明二等奖,1/9,2023年12月。

2. 过程监测感知驱动的复杂产品装配维修可视化诱导技术及应用,山东省技术发明二等奖,1/10,2022年12月。

3. 情景智能感知驱动的装配维修AR辅助诱导技术与应用,青岛市科技进步一等奖,1/12, 2022年11月。

4. 2021年中国产学研合作创新与促进奖(产学研合作创新奖)(2021)

5. 产品装配过程智能监测与AR诱导技术创新及应用,全国商业科技进步二等奖,1/8,2021.12

6. 西海岸新区优秀青年人才(2016年)

7.     Emerald出版集团2022年Emerald Literati杰出论文奖(Outstanding paper)

8. 青岛市青年科技奖(2016年)

9. 山东省高等学校科学技术奖三等奖(2015年);

10. 山东省教学成果三等奖(2014年)

11. 山东省教学成果一等奖(2022年)

12. 山东省教学成果一等奖(2018年)

招生信息

1.机械、测控、计算机等相关专业毕业生,每年可招生全日制博士研究生1人;

2.机器视觉监测、深度学习、工业机器人、增强现实等智能制造相关方向;

3.具有一定的外语基础。

1.机械、测控、计算机等相关专业毕业生,每年可招生全日制博士研究生1人;

2.机器视觉监测、深度学习、工业机器人、增强现实等智能制造相关方向;

3.具有一定的外语基础。

©2019-2021 青岛理工大学机械与汽车工程学院 版权所有地址:青岛市黄岛区嘉陵江路777号  邮编:266520  Email:omae@qut.edu.cn

满佳-山东大学机械工程学院

满佳-山东大学机械工程学院

今天是

公共信息平台  |  ENGLISH

首页

新闻动态

通知公告

院所新闻

教学信息

学术动态

学院简报

学院概况

学院简介

学院领导

办公指南

院长信箱

书记信箱

机构设置

行政机构

系所设置

研究机构

学术组织

师资队伍

系所师资

教师队伍

导师介绍

人才培养

本科教育

研究生教育

继续教育

博士后流动站

研究生学术论坛

实践基地

卓越工程师

培养方案

管理规章

实验中心

精品课程

学科建设

学科概况

985工程

211工程

国家重点学科

科学研究

科研领域

省工程中心

重点实验室

大型仪器设备

科技政策

仪器收费标准

仪器共享办法

固定资产管理

学生工作

在职教育

首页

中心简介

工程博士

同力硕士

本专科教育

培训教育

中外合作教育

学院党建

通知公告

工作动态

支部建设

党员发展管理

身边榜样

校友中心

您现在的位置:

首页

>>

师资队伍

>>

教师队伍

>>

山东省泰山学者青年专家

>>

正文

师资队伍

系所师资

教师队伍

导师介绍

满佳

发布时间:2019-03-07 16:15:36    作者:    点击:[]

姓名

满佳

性别

                                                                       

出生年月

1991.03

行政职务

学历

博士研究生

学位

博士

专业技术职务及任导师情况

 副研究员、硕士生导师

所在一级学科名称

 机械工程

所在二级学科名称

 机械制造及其自动化

 

学术兼职

中国机械工程学会高级会员

Lab on a Chip期刊审稿人

Scientific Reports期刊审稿人

Surface and Coatings Technology期刊审稿人

Colloid and Interface Science Communications 期刊审稿人

Scientific Reports 期刊审稿人

 

国内外学习和工作经历

2008年9月--2012年6月,山东大学机械工程学院,学士2012年9月--2015年6月,山东大学机械工程学院,硕士2015年9月--2019年1月,清华大学摩擦学国家重点实验室,博士2017年9月--2018年2月,美国普林斯顿大学机械与航空航天系,VSRC博士生2019年1月--至今,山东大学机械工程学院,副研究员

2019年9月--至今,山东省枣庄市山亭区科技副区长

 

研究领域

微流控芯片、微米级功能零部件制备技术;

绿色制造、医用生物可降解制品制备技术、载药微胶囊制备技术;

植介入医疗器械设计与制造及表面改性等;

机电产品设计制备;

【欢迎机械、材料、化学、医工交叉方向同学报考研究生!】

承担科研项目情况

国家自然科学基金青年项目:基于微流控技术的生物可降解海藻酸钙微颗粒和微纤维的成型机理及结构控制研究(51905312),2020.01-2023.12,主持;

中国博士后科学基金(第67批),2020.07-2022.07,主持;

国家重点研发计划课题“便携式智能心肺生命支持设备研究”子任务,2020.11-2024.10, 主持;

企业委托,微流控合成反应器样机,2020.10-2021.12,主持;

山东大学青年未来学者项目(第五批),2019.07-2024.06,主持;

高效洁净机械制造教育部重点实验室开放基金:基于微流控技术的海藻酸钙微球和微纤维的制备技术,2019.01-2020.12,主持;

中央高校基本业务费:基于微流控技术的海藻酸钙微球和微纤维的制备技术(31360079614073),2019.01-2021.12,主持;

国家自然科学基金面上项目:面向弱刚性刀具变形的深腔模具自由曲面加工误差针对性预测与主动性补偿(51975999),2020.01-2023.12,参与;

国家自然科学基金重点项目:复合结构核燃料微球的微流成形制造(51420105006),2015.01-2019.12,参与;

北京市自然科学基金:基于仿生微流控器件研究大气可吸入颗粒在肺泡区的侵入过程(3172019),2017.01-2019.12,参与;

国家973项目:机械装备再制造的基础科学问题(2011CB013400),2011.11-2016.8

课题1:再制造对象的多强场、跨尺度损伤行为与机理,可再制造的临界阈值(2011CB013401),参与;

潍柴动力有限公司横向课题:发动机连杆/气缸体自动电刷镀技术及样机,2012.01-2015.12,参与;

 

近期主要的代表性论文、著作、专利

发表学术论文19篇(其中SCI论文17篇):

Shanguo Zhang, Xiaojie Wang, Jia Man*, et al. Histone-Deacetylase-Inhibitor-loaded Calcium Alginate Microspheres for Acute Kidney Injury Treatment[J]. ACS Applied Bio Materials, 2020, 3(9), 6457-6465.

Shanguo Zhang, Guiling Li, Jia Man*, et al. Fabrication of Microspheres from High-Viscosity Bioink Using a Novel Microfluidic-Based 3D Bioprinting Nozzle. Micromachines 2020, 11, 681. SCI, IF: 2.523. (Q3区)

Shanguo Zhang, Jianyong Li, Jianfeng Li, Na Du*, Donghai Li, Fangyi Li, Jia Man*, Application status and technical analysis of chitosan-based medical dressings: a review[J]. RSC Advances, 2020, 10. SCI, IF: 3.119. (Q3区)

Jing, Zhang, Guiling Li, Song Zhang*, Jia Man*, et al. Systematically evaluate the physicochemical property and hemocompatibility of phase dependent TiO2 on medical pure titanium[J]. Surface and Coatings Technology, 2020, 404(4):126501.

Jia Man, Steven Chien, Shuaishuai Liang, et al. Size dependent phase separation in emulsion droplets[J]. Chemphyschem, 2018, 22(9):669-678. SCI, IF: 3.144. (Cover story, Q3区)

Haosheng Chen, Jia Man, Zhongnan Li, et al. Microfluidic Generation of High-Viscosity Droplets by Surface-Controlled Breakup of Segment Flow.[J]. Acs Applied Materials & Interfaces, 2017, 9(25):21059. SCI, IF: 8.758. (导师一作,Q1区,Top期刊)

Jia Man, Zhongnan Li, Jiang Li, et al. Phase inversion of slug flow on step surface to form high viscosity droplets in microchannel[J]. Applied Physics Letters, 2017, 110(18):1487. SCI, IF: 3.597. (Q2区,Top期刊)

Jia Man, Song Zhang, Xiaona Luan, et al. Residual stresses of α -Al2O3 /Ni nano-composite coating prepared by automatic brush plating technique[J]. International Journal of Precision Engineering and Manufacturing-Green Technology, 2017, 4(1):19-25. SCI, IF: 4.171. (Q2区)

Jia Man, Song Zhang, Jianfeng Li, et al. Effects of electrolyte pH on morphologies and mechanical properties of α -Al2O3 /Ni composite coatings and role of zeta potentials in co-deposition process[J]. Surface & Coatings Technology, 2014, 249:118-124. SCI, IF: 3.784. (Q3区)

Janine K Nunes; Jiang Li; Ian M Griffiths; Rallabandi, Bhargav; Jia Man; Stone, Howard A Stone, Electrostatic wrapping of a microfiber around a curved particle[J]. Soft Matter, 2021.

Chen, Yuanyuan; Pan, Yunfan; Feng, Yuzhen; Li, Donghai; Man, Jia; Feng, Lin; Zhang, Deyuan; Chen, Huawei; Chen, Haosheng. Role of glucose in the repair of cell membrane damage during squeeze distortion of erythrocytes in microfluidic capillaries[J]. Lab on a Chip. 2021.

Donghai Li, Guling Li, Yuanyuan Chen, Jia Man et al. The Impact of Erythrocytes Injury on Blood Flow in Bionic Arteriole with Stenosis Segment[J]. Processes, 2019, 7(6): 372. SCI, IF: 2.753. (Q4区)

Jiang Li, Jia Man, Zhongnan Li, et al. Fabricating High-Viscosity Droplets Using Microfluidic Capillary Device with Phase-Inversion Co-Flow Structure [J]. Journal of Visualized Experiments, 2018, In Press. SCI, IF: 1.163. (合作导师一作,Q4区).

Shuaishuai Liang, Jiang Li, Jia Man, et al. Mass transfer induced multi-step phase separation in emulsion droplets: toward self-assembly multilayered emulsions and onion-like microspheres[J]. Langmuir, 2016, 32(31). SCI, IF: 3.557. (Q2区,Top期刊)

Bin Zhao, Song Zhang, Jia Man, et al. A modified normal contact stiffness model considering effect of surface topography[J]. Proceedings of the Institution of Mechanical Engineers Part J Journal of Engineering Tribology, 2015, 229(6):677-688. SCI, IF: 1.397 (Q4区)

Shuaishuai Liang, Jiang Li, Xiaomin Li, Jia Man et al. Microfluidic fabrication of ceramic microspheres with controlled morphologies[J]. Journal of the American Ceramic Society, 2018, 101(9):3787-3796. SCI, IF: 3.502. (Q2区,Top期刊)

Shuaishuai Liang, Jiang Li, Qinda Xu, Jia Man et al. Hydrodynamically Formed Uniform Thick Coatings on Microspheres[J]. Small, 2018, 14: 1800613. SCI, IF: 11.459. (Q1区,Top期刊)

满佳,张松,丁韬,等.自动化脉冲流镀设备及其应用[J]. 电镀与涂饰, 2014, 33(17): 737-740.

海源,张松,李剑峰,满佳.自动脉冲刷镀工艺参数对镍-氧化铝复合镀层残余应力的影响[J]. 电镀与涂饰, 2015, 34(19):1088-1092.

申请发明专利3项(已获得授权3项):

满佳,张善国,张松等,一种微反应器制备海藻酸钙微球的装置及方法和应用:中国,0936510.2[P]. 2020-09-04. (已授权发明专利)

张松,满佳,闫续范等,刷镀机镀液分离回收系统及控制方法:中国,0398621.5[P]. 2016-03-23. (已授权发明专利)

陈皓生,满佳,梁帅帅,等.制备高粘度微乳化液滴的系统及方法:中国,0130344.3[P]. 2018-06-22. (已授权发明专利)

陈皓生,王培毅,梁帅帅,满佳,等.室温液滴微反应器和制备二氧化锆凝胶微球的方法:中国,0174094.3[P]. 2018-04-10. (已授权发明专利)

 

获奖项目

国家奖学金,2014年山东省优秀毕业生,2015年清华大学博士生综合一等奖学金,2018年

 

联系方式

单位:山东大学机械工程学院地址:山东省济南市经十路17923号山东大学千佛山校区创新大厦1212          

邮编:250061邮箱:mj@sdu.edu.cn

 

上一条:王兵

下一条:宋维业

【关闭】

友情链接: --学校链接-- 山东大学主页 山东大学党委办公室 办公信息网 山大新闻网 山东大学本科生院 山东大学人事处 山东大学研究生院 山东大学纪委监察审计部 山东大学党委组织部 山东大学党委宣传部 山东大学统战部 --院部链接-- 材料科学与工程学院 土建与水利学院 电气工程学院 控制科学与工程学院 能源与动力工程学院 --学院链接-- 工程训练中心 机械设计制造及其自动化 山东省石材工程技术研究中心 山东大学可持续制造研究中心 现代工业设计研究所 山东大学先进射流工程技术研究中心 高效洁净机械制造教育部重点实验室 机械学院实验中心 --常用链接-- 学生在线 青春山大 校园卡系统 山东大学网管会 图书馆个人信息 本科生选课系统 研究生信息系统 办公电话查询 校车时间查询 学期校历查询

Copyright ©2017-2020 山东大学机械工程学院 All rights reserved. 办公地址:山东省济南市经十路17923号山东大学千佛山校区 邮编:250061 电话:0531-88392608 传真:0531-88392608 [网站管理]