页面网站建设牛商网做网站要多少钱

web/2025/9/27 16:17:49/文章来源:
页面网站建设,牛商网做网站要多少钱,网站建设辶金手指谷哥十四,数据标签wordpress环境#xff1a;VC 作用#xff1a; 函数是完成特定任务的独立程序代码单元 1、创建和使用函数 函数原型#xff1a;声明函数是什么类型#xff0c;指明函数的返回值和函数接收的参数类型#xff0c;函数和变量一样#xff0c;有多种类型#xff0c;任何程序在使用函…环境VC 作用 函数是完成特定任务的独立程序代码单元 1、创建和使用函数 函数原型声明函数是什么类型指明函数的返回值和函数接收的参数类型函数和变量一样有多种类型任何程序在使用函数之前都要声明该函数的类型函数调用表明在此处执行函数执行到函数调用的语句时程序会找到该函数的定义并执行其中的内容执行完返回调用函数继续执行下一行函数定义详细说明函数要干啥 #include stdio.hint add(int a,int b); //函数原型int main(void) {int a1,b1,sum0;sumadd(a,b); //函数调用printf(sum%d\n,sum);return 0; }//函数定义 int add(int a,int b) {return ab; }我们看看反汇编 函数原型 我们可以看出函数原型这里没有生成机器码这个是给编译器看得告诉编译器这个函数的返回值和函数接收的参数类型并在别处查看该函数类型机器码是给CPU执行的所以CPU执行到这里不会干任何事情 函数调用 8: sumadd(a,b); //函数调用 0040104D 8B 45 F8 mov eax,dword ptr [ebp-8] 00401050 50 push eax 00401051 8B 4D FC mov ecx,dword ptr [ebp-4] 00401054 51 push ecx 00401055 E8 AB FF FF FF call ILT0(add) (00401005) 0040105A 83 C4 08 add esp,8 0040105D 89 45 F4 mov dword ptr [ebp-0Ch],eax函数调用之前我们可以看到会先把参数存放到栈里面也就是ab的值然后到00401005地址执行这个地址有个jmp语句会跳转到函数的定义出执行 函数定义 13: //函数定义 14: int add(int a,int b) 15: { 004010A0 55 push ebp 004010A1 8B EC mov ebp,esp 004010A3 83 EC 40 sub esp,40h 004010A6 53 push ebx 004010A7 56 push esi 004010A8 57 push edi 004010A9 8D 7D C0 lea edi,[ebp-40h] 004010AC B9 10 00 00 00 mov ecx,10h 004010B1 B8 CC CC CC CC mov eax,0CCCCCCCCh 004010B6 F3 AB rep stos dword ptr [edi] 16: return ab; 004010B8 8B 45 08 mov eax,dword ptr [ebp8] 004010BB 03 45 0C add eax,dword ptr [ebp0Ch] 17: } 004010BE 5F pop edi 004010BF 5E pop esi 004010C0 5B pop ebx 004010C1 8B E5 mov esp,ebp 004010C3 5D pop ebp 004010C4 C3 ret从上面的程序我们可以看出函数定义会先把esp存放到栈里面然后把esp的值给ebp接着开辟一个40h的栈然后把ebx、 esi、 edi存放到栈里面接着在一些连续地址存放0CCCCCCCCh把这些做好后再执行函数定义里的语句。 16: return ab; 004010B8 8B 45 08 mov eax,dword ptr [ebp8] 004010BB 03 45 0C add eax,dword ptr [ebp0Ch]我们看看函数的最后 004010BE 5F pop edi 004010BF 5E pop esi 004010C0 5B pop ebx 004010C1 8B E5 mov esp,ebp 004010C3 5D pop ebp 004010C4 C3 ret函数的最后把函数开始存放这些寄存器的内容又给了他们ebp的值给espebp恢复函数之前的ebp接着返回。与函数调用的作用是一样的 函数的作用只完成特定任务其他什么都没变从函数调用到函数定义最后返回看起来是只对了a和b的值进行了操作其他啥都没变 总结 函数原型没有生成机器码告诉编译器我的参数是那些和返回值是那些函数调用会把参数先压入栈接着执行call到一个地址执行这个地址有一个jmp命令会到函数定义出执行函数定义会先把一些寄存器先压入栈然后给一些内存赋值在最后又会把这些寄存器给弹出恢复成原值执行ret命令返回调用函数继续执行下一行。 2、传值和传址的区别 首先我们要认识几个小知识 运算符取变量的存储地址*间接运算符取存储在指针指向地址上的值也可以用来声明指针声明指针变量类型 * 变量名声明指针变量必须指定指针所指向变量的类型因为不同变量类型占用不同的存储空间 #include stdio.hint add1(int a,int b); //函数原型 int add2(int *a,int *b); //函数原型 int main(void) {int a1,b1,sum1,sum2;sum1add1(a,b); //函数调用printf(sum1%d\n,sum1);sum2add2(a,b); //函数调用printf(sum2%d\n,sum2);return 0; }//函数定义 int add1(int a,int b) {return ab; }int add2(int *a,int *b) {return *a*b; }传值 8: sum1add1(a,b); //函数调用 0040D786 8B 45 F8 mov eax,dword ptr [ebp-8] 0040D789 50 push eax 0040D78A 8B 4D FC mov ecx,dword ptr [ebp-4] 0040D78D 51 push ecx 0040D78E E8 7C 38 FF FF call ILT10(add) (0040100f) 0040D793 83 C4 08 add esp,8 0040D796 89 45 F4 mov dword ptr [ebp-0Ch],eax值传给eax寄存器然后入栈 传址 10: sum2add2(a,b); //函数调用 0040D7AA 8D 45 F8 lea eax,[ebp-8] 0040D7AD 50 push eax 0040D7AE 8D 4D FC lea ecx,[ebp-4] 0040D7B1 51 push ecx 0040D7B2 E8 5D 38 FF FF call ILT15(add2) (00401014) 0040D7B7 83 C4 08 add esp,8 0040D7BA 89 45 F0 mov dword ptr [ebp-10h],eax把地址传给eax然后入栈 我们知道传值不可以修改变量的值而传址却可以从汇编角度看我们可以更加的清晰明白传值只是将值传过去了函数调用是去函数定义处执行不知道变量在哪里所以没办法修改传地址到函数定义时就知道变量的地址在哪里了所以能修改变量得内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/80980.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二手交易平台 网站开发软件项目外包平台

HALCON示例程序autobahn高速公路车道识别程序剖析 小哥哥小姐姐觉得有用点个赞呗! 示例程序源码(加注释) *关闭halcon窗口的实时更新 dev_update_window (‘off’) *关闭halcon图形窗口 dev_close_window () *打开图形窗口 *dev_open_win…

怎么在一起做网站上拿货怎样给网站做排名优化

VLDB 2024于2024年8月26号-8月30号在中国广州举行。 本文总结了VLDB 2024有关时空数据(time series data)的相关论文,主要包含如有疏漏,欢迎大家补充。 🌟【紧跟前沿】“时空探索之旅”与你一起探索时空奥秘&#xf…

阜新网站开发公司房产信息网显示已备案

Python算法题集_环形链表 题234:环形链表1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【集合检索】2) 改进版一【字典检测】3) 改进版二【双指针】 4. 最优算法 本文为Python算法题集之一的代码示例 题234:环形链表 …

知名网站建设公青海省住房和城乡建设部网站

▒ 目录 ▒ 🛫 导读需求开发环境 1️⃣ 概念概念解释特点 2️⃣ 学习路线图3️⃣ html示例🛬 文章小结📖 参考资料 🛫 导读 需求 要做游戏地图了,看到大量产品都使用的leaflet,所以开始学习这个。 开发环境…

移动网站建设哪家快专门做鞋的网站

相信很多网友都遇到过一种情况,网页有些视频资源或者音频资源不知道如何下载,一直不知道如何解决,为此小编特意带来了这款:Internet Download Manager电脑版,这是一款非常专业且十分好用的下载工具,也就是大…

郑州网站开发深圳制作网站推荐

Hadoop中自带的hadoop-mapreduce-examples-2.7.6.jar含有一些事例,本文将用pi计算圆周率。若想了解其计算原理,参考:http://thinkinginhadoop.iteye.com/blog/710847。 具体步骤如下: 1. 启动Hadoop 切换到Hadoop安装目录下的sb…

北京市住房与城乡建设厅网站电脑行业网站模板

文章目录 背景工具jconsole和jvisualvm 压测实战以太坊Java程序监控1.使用jconsole监控2.使用jvisualvm监控 问题分析堆内存使用异常通过调整内存策略来应对: 交易虚增问题 背景 作为使用java技术栈的金融类公司,确保Java程序在生产环境中的稳定性和性能…

个人网站也需要备案吗全国免费发布信息平台

在应用程序级别以外使用注册为 allowDefinitionMachineToApplication 的节是错误 在web.config文件之外注册为 allowDefinitionMachineToApplication 的节是错误 遇到这个问题,我真是晕啊! 以下是我个人的经验解决上述的二个问题,至今有时还…

手机做推广比较好的网站宁夏建设厅违规通报网站

《金融市场学》作业 一 名词解释 1.货币头寸   2.金边债券   3.二板市场 4.金融市场 5.投资基金 6.系统风险 7.外汇市场 8.货币市场共同基金 9.衍生证券 10&#x…

怎样做 网站的快捷链接北京营销型网站案例

hadoop分布式集群安装的过程中要先给Linux系统配置好JDK环境,因为hadoop是基于Java开发的。所以本文主要介绍如何在centos上安装jdk环境,主要步骤如下:1、去Oracle官网下载Linux版本的jdk,地址如下:笔者下载的是JDK1.8…

宜昌模板网站建设网站建设人员求职信

不知道打仗之害,就不知道打仗之利 【安志强趣讲《孙子兵法》第7讲】 【原文】 夫钝兵挫锐,屈力殚货,则诸侯乘其弊而起,虽有智者,不能善其后矣。 【注释】 屈力殚货:屈力,指力量消耗,…

合肥有哪些做网站的公司域名备案以后怎么建设网站

条件覆盖 ​要求设计足够多的测试用例,使得每一个判定的​每一个条件的每一个取值(真或假)至少各执行一次。 对于示例来说​,可以设计: {x4,y4,z11} 条件取值:TFTF {x2,y6,z9} 条件取值:F…

织梦网站密码忘记了湖南专业网站建设服务

找一个springboot相关的依赖,比如这里我找mybatis 鼠标点击artifactId名称,图中蓝色字段,跳转到springboot依赖(鼠标悬停在上面变成蓝色表示可点击跳转), 点击spring-boot-dependencites,跳转到…

域名备案与网站备案公司网站建设外包流程图

一开始 的 时候, 以为 泰勒级数 是 f ( x ) 和 n 阶导数 之间 的 关系, 或者 f ( x ) 的 1 阶导数 和 2 阶 、3 阶 …… n 阶导数 之间 的 关系 , 作了 一些 这样 的 推导 :f ′ ( x ) [ f ( x ⊿ x ) - f ( …

安徽省工程建设信用平台网站北京企业网站定制

登录为啥需要鉴权? 登录需要鉴权是为了保护系统的安全性和用户的隐私。在一个 Web 应用中,用户需要提供一定的身份信息(例如用户名和密码)进行登录,登录后系统会为用户生成一个身份令牌(例如 JWT Token&am…

去中心化算力池:基于IPFS+智能合约的跨校GPU资源共享平台设计

一、问题背景:高校算力孤岛的困境 现状痛点 各高校GPU集群利用率差异显著(部分实验室闲置率超40%)科研高峰期算力需求激增(如深度学习模型训练)跨校资源共享缺乏可信机制及技术平台 政策驱动 教育部《教育信息化2.…

linux国产机安装GCC

目录 1.包管理器安装 2.源码编译安装 linux安装GCC有两种方式,方法一,使用包管理器安装;方法二,源码安装。 1.包管理器安装 Ubuntu 基于 Debian 发行版,使用apt - get进行软件包管理;CentOS 基于 …

Python 内置数据类型详解:从基础到高级应用

Python 数据类型的重要性 Python 作为一门动态类型语言,以其简洁的语法和强大的灵活性受到广泛欢迎。动态类型的特性意味着开发者无需显式声明变量类型,Python 解释器会在运行时自动推断。这种设计大大降低了编程的复杂性,但同时也要求开发者深入理解 Python 的内置数据类型…

Java 大视界 -- 基于 Java 的大数据分布式存储在视频会议系统海量视频数据存储与回放中的应用(263)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

Simon J.D. Prince《Understanding Deep Learning》

学习神经网络和深度学习推荐这本书,这本书站位非常高,且很多问题都深入剖析了,甩其他同类书籍几条街。 多数书,不深度分析、没有知识体系,知识点零散、章节之间孤立。还有一些人Tian所谓的权威,醒醒吧。 …