当前位置: 技术问答>c语言判断某一年是否为闰年的各种实现程序代码
iis7站长之家
程序复制到其他主机上执行的问题
来源: 互联网 发布时间:2016-06-04
本文导语: 由于代码安全性的需要,部门考虑把代码和可执行程序进行分离。在UNIX环境下,2个环境变量和软件基本完全一样的机子。一台保存有程序原代码,编译生成的库文件和可执行程序拷贝到另外一台机器上(运行机)...
由于代码安全性的需要,部门考虑把代码和可执行程序进行分离。在UNIX环境下,2个环境变量和软件基本完全一样的机子。一台保存有程序原代码,编译生成的库文件和可执行程序拷贝到另外一台机器上(运行机),并在运行机上正式执行。
想请教一下,这样编译的过程中,有哪些地方需要注意?
已经发现TUXEDO相关的程序,直接复制可执行程序,是不能正常运行的。
想请教一下,这样编译的过程中,有哪些地方需要注意?
已经发现TUXEDO相关的程序,直接复制可执行程序,是不能正常运行的。
|
1、硬件架构是否完全一致
2、操作系统系列、版本最好完全一致
3、开发环境和运行环境最好一致,尤其是运行环境,这个主要是动态链接库的部分
基本上保证以上三方面,程序就完全可以兼容了
2、操作系统系列、版本最好完全一致
3、开发环境和运行环境最好一致,尤其是运行环境,这个主要是动态链接库的部分
基本上保证以上三方面,程序就完全可以兼容了
|
就怕,不同的系统对某一个函数的支持也不一样,
比如posix中的,pthread_cond_wait(),
一个函数都可能导致整个程序 挂掉.
比如posix中的,pthread_cond_wait(),
一个函数都可能导致整个程序 挂掉.
|
第一点:
比如SPARC架构上编译出来的程序,即使gcc的版本完全相同,也不能拿到X86架构的机器上去运行
你说的环境变量的设置,我说的第三点里面已经包括了
比如SPARC架构上编译出来的程序,即使gcc的版本完全相同,也不能拿到X86架构的机器上去运行
你说的环境变量的设置,我说的第三点里面已经包括了
|
如果是为了源代码安全
你们可以把.o文件放到目标机器上再连接,这样对环境的要求会降低一些
tuxedo不太了解,换一台机器tuxedo不可以运行可能是tuxedo的配置不同吧
重新执行tmloadcf试下
你们可以把.o文件放到目标机器上再连接,这样对环境的要求会降低一些
tuxedo不太了解,换一台机器tuxedo不可以运行可能是tuxedo的配置不同吧
重新执行tmloadcf试下
|
首先全部采用静态库链接方式编译链接成可执行文件,放到目标机上运行。
如果有问题,比较容易分析、定位问题。
然后用动态库方式...
如果有问题,比较容易分析、定位问题。
然后用动态库方式...
|
既然有 core,那就用 gdb 看看就能知道在什么地方出问题了,在向前回溯代码就能查到问题了
调试嘛,一般原则都是具体问题具体分析的
调试嘛,一般原则都是具体问题具体分析的
|
这个情况比较抽象
事实上,在多数情况下,我们都尽量保证程序的开发环境和使用环境一致,以减少问题。
如果情非得已,那么就避免使用平台相关的API,然后,享受调试过程吧···
事实上,在多数情况下,我们都尽量保证程序的开发环境和使用环境一致,以减少问题。
如果情非得已,那么就避免使用平台相关的API,然后,享受调试过程吧···
|
只要机器硬件架构一样,库一样,环境变量设置好就是。
我曾经这样试过QT的可执行文件。
我曾经这样试过QT的可执行文件。
|
用ldd看看调用了哪些lib,直接全部拷贝过去看能不能启动