寫了一個簡單的c程序,代碼如下:
#include <stdlib.h>
#define MD5_DEGIST_LENGTH 16
int ecds_trans_fmt_md5(char *md) {
int i;
char buf[80];
for(i=0;i<MD5_DEGIST_LENGTH;i++)
sprintf(&(buf[i*2]),"%02x",md[i]);
printf("%s\n",buf);
return 0;
}
int main( )
{
char *str1;
char str[16]="abcdefg";
str1=str;
ecds_trans_fmt_md5(str1);
}
編譯的方法爲:cc -c md5.c -o md51
執行時報錯如下[root@qiujun ~]# ./md51
bash: ./md51: 權限不夠
如是我添加執行權限:chmod a+x md51
繼續執行:./md51報如下錯誤:[root@qiujun ~]# ./md51
bash: ./md51: cannot execute binary file
由此我斷定可能是編譯的時候出了問題,經查資料是編譯的時候的格式指定錯誤導致,正確做法如下:
cc -o md51 md5.c
./md51發現成功執行並返回結果。
cc編譯問題
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
PHP 5.3.10 編譯安裝時出現 undefined reference to `libiconv' 錯誤的解決方法
小紅帽子
2019-02-23 13:37:48
跟我一起寫 Makefile
hardstruggle95
2019-02-23 13:32:44
masm編譯環境配置
mapdll
2019-02-23 13:02:47
linux 編譯php-bcmath擴展
shijiaoliang
2019-02-23 00:38:18
error while loading shared libraries: libmysqlclient.so.18
雨幕探長
2019-02-23 00:13:07
nginx httpd 編譯安裝
5246396
2019-02-23 00:05:49
MITK (一): 編譯過程
006玩命
2019-02-23 00:00:58
手工編譯安裝apache
tianlm
2019-02-22 23:56:54
Windows命令行中編譯運行C/程序
o576212113
2019-02-22 23:45:59
SuSE12安裝MySQL5.7.22:編譯安裝方式、單實例
大王牌
2019-02-22 23:38:36