cc編譯問題

寫了一個簡單的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發現成功執行並返回結果。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章