Linux怎么能生成一个可执行文件file, 可以 运行命令。/file<input>output
linux下可否执行,取决于当前用户对此文件 是否具有 x 权限,至于能否运行成功还得取决于文件中的内容。
执行方法(文件中的内容是可以执行的):
1、bash filename (没有 x 权限)
2、加上执行权限
chmod +x filename假设C源文件为file.c,且在/tmp目录下,则在命令行下依次执行:
cd /tmp
gcc -o file file.c
即可生成名称为file的可执行文件。
楼主可以看看《linux程序设计》这本书。
不止是生成文件,是在运行执行文件的时候加入其他文件,比如。/file in.c out.u
追答以C语言编程为例,要让可执行文件(即程序)能够处理其他文件,你在编写那个file.c的时候,就应该加入你想要的针对其他文件的操作。
举例,在file.c中写入如下代码:
#include<unistd.h>再执行前面的1、2步,生成file后,执行./file my.txt ,就会往my.txt里存入12345
追问我在linux里面运行了,在输出output.txt的时候 会多出个数字0,比如 输入 3 2 1的时候 输出是 0 1 2 3,,,,,,这个怎么办?在vc里面运行正常呀
当你在in.txt存入321(数之间以空格隔开)时,上面的while循环读完1后,count变成了3,再次进入循环判断中的feof(in)部分时,feof(in)返回的值依旧是0,即!feof(in)依旧为真,故循环体继续执行,fscanf(in,"%d",&arr[count]);将会再读入一个数到arr[]中,这样arr[]中就有4个元素,但这第四个数并非来自in.txt(因为它已经读完了),似乎是in.txt文件末尾相邻空间的值。
再下一次进入循环判断中的feof(in)部分时,feof(in)返回的值才不是0,从而!feof(in)为假,循环不再进行。
我在本机运行的结果:
3个数,但是feof()总共有4次返回值为0,arr[]中存入了4个元素。
解决方法:
在qsort(arr,count,sizeof(int),comp);前面加一条语句count--;
从而把最后一个非法的数据去除,不对它进行排序操作。
谢谢您的解答
为什么按您的方法加了count--;之后还是有垃圾值,input里面有0的时候就在后面,input里面没有0的话就会出现整数在前面
下面是我在本机测试的代码,不存在你说的问题。
/*测试结果如下图:
太谢谢你了,前两天考试没做这个作业,今天从新拿起来。希望您能抽出时间继续为我解答万分感谢。sort那部分已经完成了,下一步在利用多线程算时间,。time ./sort后面加数字,可是不论加几input写多少行real都是001用户和系统都是零
追答不清楚你要做什么,最好贴一下代码,再说明一下你在做什么东西,做成什么样,你目前是怎么做的。
追问代码还是上面的代码,利用多进程
作业要求分别用多进程和线程计算快速排列所需要的时间
要计算快速排列所需要的时间,建议在代码中使用gettimeofday( )函数,可以获得毫秒级的精度。(不需要使用多进程、多线程。)
示例:
#include <stdio.h>原理:在进行快速排列之前、之后各获取一次时间,中间的差值就是快速排列消耗的时间。
时间time ./文件名就可以了。比较时间是次要的,主要是刚学完进程线程,好难呀,大哥帮人帮到底吧,分全给你
时间time ./文件名就可以了。比较时间是次要的,主要是刚学完进程线程,好难呀,大哥帮人帮到底吧,分全给你
老师给的菲波拉奇数列的例子,照着做就可以,可我还是不会
权限Linux下让文件具有可执行权限的方法linux设置文件可执行
1. 打开终端,输入chmod命令行。你可以使用如下代码:chmod u+x file_name 2. 其中u表示user,表示文件所有者,+x表示将文件设置为可执行状态。如果没有指定文件所有者,则默认为当前登录用户。3. 另外,还可以使用chmod命令修改文件的权限,如果要使所有用户都拥有文件的可执行权限,则可以使用如下代码...
LinuxC程序可执行文件的编译与生成linuxc执行文件
首先,用户需要先使用一种C语言编译器,例如gcc编译器,来编译源程序,使它们成为中间语言。然后用GNU Linker(ld)链接中间语言程序,从而生成可执行文件。编译器和链接器是操作系统提供的两个功能,需要两个步骤才能完成编译和生成可执行文件的过程,如下所示:编译:gcc source.c -ooutput 生成可执行文...
linux下多个.o文件如何链接生成可执行程序
1、第一步,找到需要打开的.o后缀文件,见下图,转到下面的步骤。2、第二步,执行完上面的操作之后,打开编译器,并在此处使用c-free5,选择新文件,并将其保存为cpp格式,见下图,转到下面的步骤。3、第三步,执行完上面的操作之后,单击“运行”,发现在文件末尾出现了一个具有相同名称.o后缀的文...
linux下如何运行可执行文件
1、打开kali linux的终端。创建一个文件并命名为dutest.c。在终端输入:touch test.c。2、可以看到已经生成了一个后缀为test.c的源文件。然后用vim工具打开这个文件并编写代码。在终端中输入:vim test.c或者gvim test.c打开这个文件并编写代码。3、编写完了这个代码。现在开始编译源文件。在终端中输入...
Linux运行可执行文件的简单方法linux运行可执行文件
最后,就可以使用Linux系统运行该可执行文件了。通常可使用`.\/` 命令运行可执行文件,其中 `.\/` 是活动位置符号,而`filename.out` 则是需要运行的文件名,如`.\/filename.out ` 。另外,也可以使用 `chmod` 命令修改可执行文件的权限,其中 `+x` 是标识添加可运行该文件的权限,下面是...
linux系统怎样安装可执行文件?
3、用file命令查看文件信息,发现是一个32位可执行文件。4、要想在64位系统上与运行32位程序,则需要安装32位lib库。 对于Ubuntu用户可以使用下面的命令安装。5、过程中有可能找不到需要的库,但是会有几个替代包,选择安装其中一个。6、然后就可以正常运行之前的可执行文件了。遇到这种问题其实还有...
linux给执行权限命令linux给执行权限
不需要什么命令,在Linux上面只要是有可执行权限的文件都可以运行(当然前提是这个文件有代码逻辑,能运行的起来)。给一个文件添加可执行权限的命令是这样执行的:chmoda+x文件名。当给文件赋予了可执行权限后,可以这样运行它:在终端中先用cd命令切换到这个文件所在的目录,再用.\/文件名的方式运行它(...
linux下用什么命令来运行可执行文件
不需要什么命令,在Linux上面只要是有可执行权限的文件都可以运行(当然前提是这个文件有代码逻辑,能运行的起来)。给一个文件添加可执行权限的命令是这样执行的:chmod a+x 文件名。当给文件赋予了可执行权限后,可以这样运行它:在终端中先用cd命令切换到这个文件所在的目录,再用.\/文件名的方式运行...
linux可写权限linux可写
linux可以运行哪些软件啊?1、对于开源软件,一般需要编译、链接、安装几个步骤编译就是将源代码转换为二进制的中间代码,链接就是进一步生成可执行文件。步骤如下:解压:tarzxvffilename.tar.gz配置:.\/configure编译:make安装:makeinstall\/\/这一步就是将执行文件拷贝到系统环境目录,便于执行。经过这三...
Linux如何运行文件linux怎么运行文件
1.打开文件夹:Linux操作系统有一个叫做“文件”的默认程序,用户可以使用它来浏览文件夹,然后找到所需要的文件,并双击运行它。2.终端命令:如果要运行文件,用户可以使用Linux的终端实用程序,这是一种提示型用户界面,使用者可以在其中输入命令,运行特定的文件。该命令的一般格式为:.\/filename 3.使用...