来源:蜘蛛抓取(WebSpider)
时间:2016-12-13 07:04
标签:
linux运行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++ 从新调试编译一下。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或