㈠ 如何将写好的一段C语言程序弄成可以在任何电脑上使用的软件
编译 运行后 在你的工作目录下面找到一个同名的.exe文件,然后把它带着走,到哪里都可以用
当然,如果你程序中用到了配置文件 资源文件或者dll文件 也请一并打包带走
如果程序比较大,可以到网上搜一下打包安装包的软件,可以制作安装包
值得一提的是,你用windows下编出来的程序,对方电脑必须也是windows操作系统,否则无法运行
㈡ 如何反编译c语言程序
反编译C语言程序是一个复杂且通常不可完全逆向的过程,因为C语言编译后的机器码与源代码之间存在显着的抽象层次差异。C语言程序首先被编译成汇编语言,再进一步转换成特定平台的机器码。这个过程中,许多高级语言特性(如变量名、函数名、注释等)会被优化或丢弃,使得直接从机器码恢复出原始的C代码变得非常困难。
尽管如此,仍有一些技术和工具可以用来尝试分析或“反编译”机器码,比如使用反汇编器(如IDA Pro、Ghidra)来将机器码转换回汇编语言,然后人工或借助工具分析这些汇编指令,尝试理解程序的逻辑。但请注意,这只能得到汇编级的理解,并不能直接恢复出原始的C语言代码结构。
此外,对于使用了代码混淆、加密或其他保护技术的程序,反编译的难度会进一步增加。因此,对于大多数情况,反编译C语言程序并不是一个可行的选项,尤其是在没有源代码和详细文档的情况下。如果目的是理解或修改程序,通常更推荐寻找合法途径获取源代码或联系程序的开发者。
㈢ C语言源代码怎么导入编译器里
要将C语言源代码导入编译器中,通常有以下几个步骤:
1. 编写C语言源代码:使用文本编辑器或集成开发环境(IDE)编写C语言源代码文件,例如hello.c。
2. 打开编译器:选择一种C语言编译器,打开它的界面。常见的C语言编译器包括GCC、Clang、Visual Studio等。
3. 创建项目:在编译器中创建一个新项目或工程,例如选择File -> New Project,然后选择C语言项目类型。
4. 添加源文件:在项目中添加C语言源代码文件,例如点击Add File或者Add Existing Item按钮,然后选择刚才创建的hello.c文件。
5. 进行编译:在编译器中进行编译操作,例如选择Build -> Build Solution。如果代码没有语法错误,则会生成可执行程序,例如hello.exe。
6. 运行程序:在编译器中运行刚刚生成的可执行程序,例如选择Debug -> Start Debugging。如果一切顺利,程序应该会输出"Hello, world!"这样的结果。
需要注意的是,不同的编译器可能有不同的操作方式和具体步骤,但是基本的流程是相似的。此外,编译器也可以通过命令行方式来进行编译和运行,具体方法可以参考相应编译器的文档或帮助信息。
公众号:奇牛编程
㈣ 如何运行一个C程序
1、编辑:输入源程序并存盘;
2、编译:将源程序翻译为目标文件;
3、链接:将目标文件生成可执行文件;
4、运行:执行后缀名为“EXE”的文件,得到运行结果。
㈤ 在linux中编译C输入完程序后输入个:wq然后按什么键就然后就回到了上一个界面
vi 编辑器里。
先 按一下 ESC 退出,然后 按 : 键,然后输入 wq 保存并退出的意思,再打回车,即可退出编辑状态。
使用 gcc -o C源文件
即可编译。
1 29
lzbltx
2010-10-11 超过23用户采纳过TA的回答
关注
:wq是vi的编辑命令,vi编辑命令中“:”命令最后输入回车键执行。找一个LINUX入门的书,学习一下简单的vi命令就可以编辑程序了。
0果在命令行下使用gedit, 关闭程序窗口(一般先保存文件),就自动退到命令行界面。
如果在命令行下使用vim,先按下ESC退出编辑模式,然后输入:wq 保存并退出或者q退出或者q!强制退出,从而回到命令行界面。
(5)如何把c程序的编译挪到上面扩展阅读:
linux常见命令:
命令
apropos whatis 显示和word相关的命令。 参见线程安全
man -t man | ps2pdf - > man.pdf 生成一个PDF格式的帮助文件
which command 显示命令的完整路径名
time command 计算命令运行的时间
time cat 开始计时. Ctrl-d停止。参见sw
nice info 运行一个低优先级命令(这里是info)
renice 19 -p $$ 使脚本运行于低优先级。用于非交互任务。
目录操作
cd - 回到前一目录
cd 回到用户目录
(cd dir && command) 进入目录dir,执行命令command然后回到当前目录
pushd . 将当前目录压入栈,以后你可以使用popd回到此目录
文件搜索
alias l='ls -l --color=auto' 单字符文件列表命令
ls -lrt 按日期显示文件. 参见newest
ls /usr/bin | pr -T9 -W$COLUMNS 在当前终端宽度上打印9列输出
find -name '*.[ch]' | xargs grep -E 'expr' 在当前目录及其子目录下所有.c和.h文件中寻找'expr'. 参见findrepo
find -type f -print0 | xargs -r0 grep -F 'example' 在当前目录及其子目录中的常规文件中查找字符串'example'
find -maxdepth 1 -type f | xargs grep -F 'example' 在当前目录下查找字符串'example'
find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done 对每一个找到的文件执行多个命令(使用while循环)
find -type f ! -perm -444 寻找所有不可读的文件(对网站有用)
find -type d ! -perm -111 寻找不可访问的目录(对网站有用)
locate -r 'file[^/]*\.txt' 使用locate 查找所有符合*file*.txt的文件
look reference 在(有序)字典中快速查找
grep --color reference /usr/share/dict/words 使字典中匹配的正则表达式高亮
归档 and compression
gpg -c file 文件加密
gpg file.gpg 文件解密
tar -c dir/ | bzip2 > dir.tar.bz2 将目录dir/压缩打包
bzip2 -dc dir.tar.bz2 | tar -x 展开压缩包 (对tar.gz文件使用gzip而不是bzip2)
tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg' 目录dir/压缩打包并放到远程机器上
find dir/ -name '*.txt' | tar -c --files-from=- | bzip2 > dir_txt.tar.bz2 将目录dir/及其子目录下所有.txt文件打包
find dir/ -name '*.txt' | xargs cp -a --target-directory=dir_txt/ --parents 将目录dir/及其子目录下所有.txt按照目录结构拷贝到dir_txt/
( tar -c /dir/to/ ) | ( cd /where/to/ && tar -x -p ) 拷贝目录/到目录/where/to/并保持文件属性
( cd /dir/to/ && tar -c . ) | ( cd /where/to/ && tar -x -p ) 拷贝目录/下的所有文件到目录/where/to/并保持文件属性
( tar -c /dir/to/ ) | ssh -C user@remote 'cd /where/to/ && tar -x -p' 拷贝目录/到远程目录/where/to/并保持文件属性
dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz' 将整个硬盘备份到远程机器上
0