程序依赖的链接库
int main(int argc, char **argv) { return argc != 2 ? -1 : atoi(argv[1]); }
这个程序很简单,执行的时候传入一个参数,转换为int后直接返回。如果没有指定参数,或者指定了多个参数,直接返回-1。
如果传入的是浮点数,则转换成整数返回,如果传入的是字符串,则返回0。
传入的字符串转换为int参考atoi函数定义。
这个返回值在linux下可以通过如下命令获得:
# echo $?
在linux下可以通过如下命令获得:
>echo %ERRORLEVEL%
编译链接
# gcc return_test.c -o return_test
运行
# ./return_test
# echo $?
255
# ./return_test 0
# echo $?
0
# ./return_test 1
# echo $?
1
# ./return_test 255
# echo $?
255
# ./return_test 3.14
# echo $?
3
# ./return_test -3.14
# echo $?
253
# ./return_test abc
# echo $?
0
在Windows下运行如下:
>.\return_test
>echo %ERRORLEVEL%
255
>.\return_test 0
>echo %ERRORLEVEL%
0
>.\return_test 1
>echo %ERRORLEVEL%
1
>.\return_test 255
>echo %ERRORLEVEL%
255
>.\return_test 3.14
>echo %ERRORLEVEL%
3
>.\return_test -3.14
>echo %ERRORLEVEL%
253
>.\return_test abc
>echo %ERRORLEVEL%
0
查看程序依赖的链接库
# ldd return_test
linux-gate.so.1 => (0x00d1c000)
libc.so.6 => /lib/libc.so.6 (0x00a04000)
/lib/ld-linux.so.2 (0x80031000)
可以看到程序至少都依赖了这几个链接库
linux-gate.so
libc.so
ld-linux.so
Cygwin下查看程序依赖的链接库
>ldd return_test
ntdll.dll => /cygdrive/c/WINDOWS/system32/ntdll.dll (0x7c92000
0)
kernel32.dll => /cygdrive/c/WINDOWS/system32/kernel32.dll (0x7
c800000)
cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000)
可以看到程序至少都依赖了这几个链接库
ntdll.dll
kernel32.dll
这两个是Windows提供的。
cygwin1.dll
这个是Cygwin提供的。
相关推荐
《Linux多线程服务端编程:使用muduo C++网络库》主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。...
6. **第三方库**:pjsip可能依赖于一些外部库,如音频编解码库(如Opus、G.711等),这些库可能一并打包在压缩包中。 在Android开发中,使用pjsip通常涉及以下步骤: 1. **获取源码**:解压pjproject-2.10.zip,将...
第三章 编写第一个应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 3.5 小 结 .27 第二部分 C#程序设计基础.28 第四章 数 据 类 型 .28 4.1 值 类 型...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
进入`./ftpd`目录,找到`ftpcmd.y`文件,在大约第838行附近的结构体定义,需要将其移动到102行之前,以修复一个bug。修改后的结构体定义应该如下: ```c 100 char cbuf[512]; 101 char *fromname; 102 struct ...
Q3:经测试,在 XP SP3 之前的版本,依旧有问题:无法定位程序输入点 GetLogicalProcessorInformation 于动态链接库 KERNEL32.dll 上。 Q3:只能期待 Unis 大侠再次出手? 其他问题: Q4:怎么 Android SDK 还需要...
Java编写的山寨QQ,多人聊天+用户在线 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
选择以零或任何其他数据填充受损区域的模式,而不是把它们完全从结果文件中切除。 RAR 5.0 恢复记录比恢复记录本身更耐损坏,可以利用部分损坏的恢复记录数据。但是, 请注意,“修复”命令不修复恢复记录的损坏...