轻松汇编中主程序如何与子程序链接子程序编译成功后都可以连接,主程序编译后连接错误显示undefined sym

轻松汇编中主程序如何与子程序链接子程序编译成功后都可以连接,主程序编译后连接错误显示undefined sym,第1张

是多个文件还是一个文件啊?如果是多个文件……当然是可以做到的,但是需要你首先依次打开各个文件,编译,生成目标文件(obj),然后重新打开主程序,修改轻松汇编的链接参数,链接……挺麻烦的,还不如直接用命令行,因为轻松汇编的设计就只考虑支持一个汇编文件,没考虑多个文件的问题。

1、主程序是一直在运行状态的,即使调用了子程序,主梯形图不是失去作用的;

2、子程序调用一般需要调用条件,比如某个指令生效了然后子程序即可运行,一旦这个指令失效了,则子程序就不起作用了;

3、所以在200PLC编程过程中子程序返回主程序是依靠子程序的,需要的是调用子程序的条件来使能子程序或不施能子程序。

给你在每个输出语句后都加一个'\n'换行,不然看起来不利于比较。

加'\n'后的输出结果:

a=3,b=4; // 实参

x=3,y=4; // 函数的形参

x=4,y=3; // 函数的形参

a=3,b=4; // 实参

在这里,你想通过调用函数来对a,b的值做调换,但是没有实现。

原因是:你将a、b作为实参传递给函数change的对应形参x、y时,x和y单独在内存中的一块区域开辟了自己的内存空间。用来存放数据。

将实参a传递给x,b传递给y时。实际上是对形参x和y 所开辟的内存空间赋值。这时。x=3,y=4; a=3,b=4;执行t=x,x=y,y=t;后,x和y 的值互换了。此时x=4,y=3;但是a、b在内存中有自己的空间;x、y在内存中也有自己的空间。他们是不一样的 。此时你对x和y的内存空间数据做了互换,但是并没有对a和b的内存空间做了互换。所以a=3,b=4; a和b的值并没有变化。

如果想通过函数调用互换两个实参的值。可以将形参定义为指针类型。形参指针可以指针实参数据的内存地址。这时的互换就是对实参的 *** 作。

以上就是关于轻松汇编中主程序如何与子程序链接子程序编译成功后都可以连接,主程序编译后连接错误显示undefined sym全部的内容,包括:轻松汇编中主程序如何与子程序链接子程序编译成功后都可以连接,主程序编译后连接错误显示undefined sym、用西门子plc200编程时插入子程时插入子程序,不知道什么返回到编程的主程序梯形图中、C语言问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9802447.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存