要在linux下调试c程序跑C程序要用到什么软件

 |  |  |  |  |  |  |  |  |  |  |   | 
&&&&& Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性。特别是近年来Linux在服务器和嵌入式领域的发展,Linux的江湖地位愈加稳定,它开源、它包含TCP/IP协议栈、它易集成GUI。鉴于Linux操作系统在服务器和嵌入式系统领域愈来愈广泛的应用,社会上越来越需要基于Linux操作系统进行编程的开发人员。本期专题将向读者朋友打开Linux开发的大门
专题策划:天极Yesky开发频道 内容提供:方舟 五月[010-]
& Sppence Murray 是 Linux 开发高手之一,同时长期以来他一直是 UNIX 的坚定支持者。本文介绍的是 Murray 和他在 Codemonks Consulting 的同事在日常的 Linux 开发以及应用服务工作中用到的基本技术: shell 脚本,相信 Linux 的开发人员都会受益于这项有用而且通用的技术。 []
& 学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。 []
& Redhat linux上面没有提供Anjuta软件包,上面提供了一个Glade应用程序界面设计工具。Linux上面使用Anjuta和Glade以及Glademm软件包可以搭建一个linux下面进行C/C++软件开发的IDE环境,可以进行GTK+/Gnome的应用程序开发。 []
  Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性。而近年来,Linux操作系统在嵌入式系统领域的延伸也可谓是如日中天,许多版本的嵌入式Linux系统被开发出来,如ucLinux、RTLinux、ARM-Linux等等。在嵌入式操作系统方面,Linux的地位是不容怀疑的,它开源、它包含TCP/IP协议栈、它易集成GUI。鉴于Linux操作系统在服务器和嵌入式系统领域愈来愈广泛的应用,社会上越来越需要基于Linux操作系统进行编程的开发人员。
&&&目前,市面上的Linux设备驱动程序参考书籍非常稀缺,少有的经典是由Linux社区的三位领导者Jonathan Corbet、Alessandro Rubini、Greg Kroah-Hartman编写的《Linux Device Drivers》。该书将Linux设备驱动编写技术进行了较系统的展现,但是该书所列举实例的背景过于复杂,使得读者需要将过多的精力投放于对例子背景的理解上,很难完全集中精力于Linux驱动程序本身。 []
&&&线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 []
& 在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用“./configure”,“make”,“make instal”就可以把程序安装到Linux系统中去了。 []
  随着Linux的蓬勃发展,关注和投身Linux开发的开发人员越来越多,但目前市面上介绍Linux开发的资料却非常稀少,很多开发人员感到入行无门,因此为了满足广大Linux爱好者的要求,我特意组织了这个教程,希望能给大家一些帮助。
培训与认证
优秀专题推荐
Copyright (C) 1999-, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-渝ICP证B2-号皮肤、表情、词库合作
车载、企业版、Linux版合作:posts - 0,&
comments - 1,&
trackbacks - 0
&&&&GCC是Linux操作系统下一个非常重要的源代码编译工具,有着许多重要的选项,支持许多不同语言的编译,如C、C++、Ada、Fortran、Objective、Perl、Python、Ruby以及Java等,甚至Linux的许多内核和许多其他自由软件以及开放源码应用程序都是用C语言编写并经gcc编译而成的.
&&& 1.编译单个源文件
&&& [例如]在屏幕上打印"Hello,Linux."
&&& [源代码]
&&& #include&stdio.h&
&&& #include&stdlib.h&
&&& int main(int argc,char **argv)
&&&&&&& printf("Hello,Linux.\n");
&&&&&&& exit(0);
&&& 将源文件保存为hello.c,开始进行编译
&&& $gcc -o hello hello.c
&&& 编译成功完成后,在当前路径下,生成一个名为hello的文件,然后执行
&&& $./hello
&&& 在屏幕上,你将会看到打印结果:Hello,Linux.
&&& 说明:在默认情况下,编译成功完成后,会在当前路径下,生成一个名为a.out的文件,然后执行$./a.out便可打印结果,但通常可以通过选项-o来指定自己的可执行程序名称;
&&& 2.编译多个源文件
&&& 3.使用外部函数库
&&& 4.使用共享函数库和静态函数库
&&& 5.gcc选项详细描述
阅读(...) 评论() &Linux下的小程序可以转成c,跑在Windows中么。。_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:510,874贴子:
Linux下的小程序可以转成c,跑在Windows中么。。收藏
手头有一个Linux下的小程序,用来算密码用的,有这个程序的所有源代码和算法,可以用C写出来么?每次都要开Linux虚拟机运行,太麻烦了。。
上海张学友、王菲演唱会一站式购票!票品安全且真票!立即订购!
顶一顶。。
如果没有系统调用,只用标准库里的函数(printf、scanf之类的函数),那么,windows和linux通用,只需重新编译一下。
#pragma once#ifdef __cplusplus extern &C& { #endif/** *
password *
cipher */void cumt_dial_get_entire_cipher(const char password[9], char cipher[117]);/** *
password *
partial_cipher */void cumt_dial_encrypt_password_part(const char password[9], char partial_cipher[13]);/** *
partial_cipher *
password */void cumt_dial_decrypt_password_part(const char partial_cipher[13], char password[9]);#ifdef __cplusplus } // extern &C& #endif#ifdef WIN32 #pragma warning(disable: 4996) #endif
这边是部分代码。。我怎么看都不像可以转换的样子。。
/share/link?shareid=181944&uk=这是编好的Linux程序和源代码加算法。。谁愿意看看。。。
推荐 Cygwincygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣
只有两个头文件有用啊。。
如果完全是 linux 下写的代码就好办了,我可以直接编译个 android 版
Dump of assembler code for function main:   0x &+0&: push   %ebp   0x &+1&: mov    %esp,%ebp   0x &+3&: and    $0xfffffff0,%esp   0x0804877a &+6&: push   %edi   0x0804877b &+7&: push   %ebx   0x0804877c &+8&: sub    $0x238,%esp   0x &+14&: mov    0xc(%ebp),%eax   0x &+17&: mov    %eax,0x1c(%esp)   0x &+21&: mov    %gs:0x14,%eax   0x0804878f &+27&: mov    %eax,0x22c(%esp)   0x &+34&: xor    %eax,%eax   0x &+36&: movl   $0x0,0x28(%esp)   0x &+44&: lea    0x2c(%esp),%ebx   0x &+48&: mov    $0x0,%eax   0x &+53&: mov    $0x40,%edx   0x080487ae &+58&: mov    %ebx,%edi   0x &+60&: mov    %edx,%ecx   0x &+62&: rep stos %eax,%es:(%edi)   0x &+64&: lea    0x1ac(%esp),%ebx   0x080487bb &+71&: mov    $0x0,%eax   0x &+76&: mov    $0x20,%edx   0x &+81&: mov    %ebx,%edi   0x &+83&: mov    %edx,%ecx   0x &+85&: rep stos %eax,%es:(%edi)   0x080487cb &+87&: lea    0x12c(%esp),%ebx   0x &+94&: mov    $0x0,%eax   0x &+99&: mov    $0x20,%edx   0x080487dc &+104&: mov    %ebx,%edi   0x080487de &+106&: mov    %edx,%ecx   0x &+108&: rep stos %eax,%es:(%edi)   0x &+110&: cmpl   $0x2,0x8(%ebp)   0x &+114&: jg     0x8048800 &main+140&
CGWANG原画培训 「零基础全额退费保障」,原画名企委托培训,高薪工作不是梦
   0x &+116&: movl   $0x804bb97,(%esp)   0x080487ef &+123&: call   0x8048658 &printf@plt&   0x &+128&: movl   $0x0,(%esp)   0x080487fb &+135&: call   0x80486a8 &exit@plt&   0x &+140&: mov    0x1c(%esp),%eax   0x &+144&: add    $0x8,%eax   0x &+147&: mov    (%eax),%edx   0x0804880d &+153&: add    $0x4,%eax   0x &+156&: mov    (%eax),%eax   0x &+158&: lea    0x1ac(%esp),%ecx   0x &+165&: mov    %ecx,0x8(%esp)   0x0804881d &+169&: mov    %edx,0x4(%esp)   0x &+173&: mov    %eax,(%esp)   0x &+176&: call   0x8048941 &_Z6getKeyPcS_S_&   0x &+181&: lea    0x1ac(%esp),%eax   0x &+188&: mov    %eax,0x4(%esp)   0x &+192&: movl   $0x804bbad,(%esp)   0x0804883b &+199&: call   0x8048658 &printf@plt&   0x &+204&: movl   $0x804bbb0,0x4(%esp)   0x &+212&: movl   $0x804bbb4,(%esp)   0x0804884f &+219&: call   0x8048638 &fopen@plt&   0x &+224&: mov    %eax,0x28(%esp)   0x &+228&: mov    $0x0,%eax   0x0804885d &+233&: mov    0x22c(%esp),%edx   0x &+240&: xor    %gs:0x14,%edx   0x0804886b &+247&: je     0x8048872 &main+254&   0x0804886d &+249&: call   0x8048678 &__stack_chk_fail@plt&   0x &+254&: add    $0x238,%esp   0x &+260&: pop    %ebx   0x &+261&: pop    %edi   0x0804887a &+262&: mov    %ebp,%esp   0x0804887c &+264&: pop    %ebp   0x0804887d &+265&: ret    End of assembler dump.No symbol table is loaded.  Use the "file" command.No symbol table is loaded.  Use the "file" command.No symbol table is loaded.  Use the "file" command.
用VC++ 从新调试编译一下。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 linux运行c程序 的文章

 

随机推荐