精华内容
下载资源
问答
  • 如何在终端修改c程序
    2015-11-26 22:36:00

    在Mac终端编写c语言程序指令:

    (1):vi hello.c(程序名随意起) 回车;

    (2):输入i,然后开始编写c程序,编写完成后,按下Ese,输入 ":"和wq,回车;

    (3):编译,输入 gcc -o(字母) ,再随意敲个名(例如:sda),然后输入hello.c  

    (4):输入 ./sda ,回车,就OK了。

     

    转载于:https://www.cnblogs.com/kaola706/p/4999268.html

    更多相关内容
  • 用mac学习C语言之前,先简单的了解一下mac终端的一些命令集,然后就开始使用mac开始我们的C语言基础学习了。OSX 的文件系统介绍OSX 采用的Unix文件系统,所有文件都挂跟目录 / 下面,所以不要有Windows 下的盘符...

    用mac学习C语言之前,先简单的了解一下mac终端的一些命令集,然后就开始使用mac开始我们的C语言基础学习了。

    OSX 的文件系统介绍

    OSX 采用的Unix文件系统,所有文件都挂在跟目录 / 下面,所以不在要有Windows 下的盘符概念。你在桌面上看到的硬盘都挂在 /Volumes 下。

    比如接上个叫做 USBHD的移动硬盘,桌面上会显示出一个硬盘图标,它实际在哪里呢?

    在终端里执行 ls /Volumes/USBHD, 看看显示出的是不是这个移动硬盘的内容。

    根目录位置是 / 核心 Mach_kernel 就在这里,

    驱动所在位置 /Systme/Library/Extensions

    用户文件夹位置 /User/用户名

    桌面的位置 /User/用户名/Desktop

    文件通配符为星号 *

    注意:在 Unix系统中是区别大小写字符的,A.txt 不等于 a.txt。

    根目录标志 / 不是可有可无,cd /System 表示转到跟目录下的System中,而cd System 表示转到当前目录下的 System中

    mac终端编写程序

    步骤:创建c文件,用vim编写c程序,编译程序,执行编译文件生成.out文件1、$:touch Hello.c//创建一个Hello.c文件(本目录下)

    2、$:vim Hello.c//用vim编辑Hello.c文件

    输入i后进入编辑状态,esc退出编辑状态    //打开vim后先输入i进入编辑状态

    *************以下为vim中输入的程序****************

    int main()

    {

    printf(“Hello Mac ! \n”);

    }

    **********************************************

    按esc退出编辑状态输入 :wq保存退出

    ESC键//按ESC键退出编辑状态

    :wq   //先输入“:”,再输入“w”表示保存,最后输入“q”表示退出

    3、$:gcc Hello.c//编译Hello.c文件,会生成可执行文件“a.out”

    gcc 参数(参数为需编译的c文件)

    4、$:./a.out//执行a.out

    基本命令

    如何进入命令行操作模式

    再图形界面下,用finder 打开 应用程序 》实用程序》终端

    如果连图形界面都进不去了(比如安错了显示驱动),开机时按 F8,用-s参数启动,然后输入命令 mount -uw /

    获得权限

    为了防止误操作破坏系统,再用户状态下时没有权限操作系统重要文件的,所以先要取得root权限

    sudo -s

    然后输入密码,输入密码时没有任何回显,连星号都没有,只管输完回车就行了。

    —基本命令

    展示目录下的文件内容

    ls 参数 目录名

    例: 想看看跟目录下有什么,

    ls /

    想看看驱动目录下有什么,

    ls /System/Library/Extensions

    参数 -w 显示中文,-l 详细信息, -a 包括隐藏文件

    进入某一指定目录下

    cd  目录路径

    例:想到驱动目录下溜达一圈

    cd /System/Library/Extensions

    建立新目录(目录即我们通常理解的文件夹)

    mkdir 目录名(参数直接输入目录名在当前的目录下新建目录,输入路径的话按照路径建立目录)

    例:在驱动目录下建一个备份目录 backup

    mkdir /System/Library/Extensions/backup

    或者cd  /System/Library/Extensions

    mkdir backup

    在桌面上建一个备份目录 backup

    mkdir /User/用户名/Desktop/backup

    拷贝文件

    cp 参数 源文件 目标文件

    例:想把桌面的Natit.kext 拷贝到驱动目录中

    cp -R /User/用户名/Desktop/Natit.kext /System/Library/Extensions

    参数R表示对目录进行递归操作,kext在图形界面下看起来是个文件,实际上是个文件夹。

    把驱动目录下的所有文件备份到桌面backup

    cp -R /System/Library/Extensions/* /User/用户名/Desktop/backup

    删除文件

    rm 参数 文件

    例:想删除驱动的缓存

    rm -rf /System/Library/Extensions.kextcache

    rm -rf /System/Library/Extensions.mkext

    参数-rf 表示递归和强制,千万要小心使用,如果执行了 rm -rf / 你的系统就全没了

    移动文件

    mv 文件

    例:想把AppleHDA.Kext 移到桌面

    mv /System/Library/Extensions/AppleHDA.kext /User/用户名/Desktop

    想把AppleHDA.Kext 移到备份目录中

    mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/backup

    更改文件权限

    chmod 参数 权限 文件

    例:把驱动目录下所有文件设定到root读写,其他用户只读

    chmod -R 755 /System/Library/Extensions

    参数R 表示递归,755表示各用户的权限

    更改文件属主

    chown 参数 用户:组 文件

    例:把驱动目录下的所有文件属主改成根用户

    chown -R root:wheel /System/Library/Extensions

    参数R 表示递归操作

    修复整个系统中文件的权限

    diskutil repairpermissions /

    严格的说这不是一个unix 命令,而是osx一个软件,记得修改或添加的驱动就执行一次。

    文本编辑

    nano 文件名

    例:编辑natit Info.plist

    nano /System/Library/Extensions/Natit.kext/Info.plist

    编辑完成后 用 Ctrl +O 存盘,Ctrl+X 退出

    另一个文本编辑软件是 vi,操作有些古怪,熟了是非常好用的,而且在所有类Unix系统中都它,走遍天下都不怕了。

    运行脚本命令

    sh 脚本文件名

    例 修改驱动后所有需要的操作存成一个脚本,以后修改了驱动后只要运行一次这个脚本就可以了,方便吧

    1. 终端中运行nano /clean

    2. 把下列代码粘贴到 nano 中

    rm -rf /System/Library/Extensions.kextcache

    rm -rf /System/Library/Extensions.mkext

    chown -R root:wheel /System/Library/Extensions

    chmod -R 755 /System/Library/Extensions

    diskutil repairpermissions /

    kextcache -k /System/Library/Extensions/

    3. Ctrl +O 存盘,Ctrl+X 退出

    4. 以后只要动了驱动,就在终端中运行一次 sh /clean

    ————————————————————————————————————

    小技巧

    用 Tab 键自动补齐命令

    比如想到 /System 目录中去,输入 cd /Sy 然后按一下Tab 键,命令就会自动补齐成 cd /System

    操作带名字中带有空格的文件和目录

    空格在命令中写成 空格, 比如要进入 My Documents,命令为 cd My Documents

    查看命令的详细帮助

    man 命令名

    比如要看看 ls 命令的详细用法,执行 man ls

    展开全文
  • 下面爱站技术频道的小编就给大家带来一篇程序决定了终端模式的大小,小编觉得挺不错的,现在就分享给大家,也给大家做个参考,一起跟随小编过来看看吧。1.大端模式,是指数据的低位保存内存的高地址中,而数据的...

    下面爱站技术频道的小编就给大家带来一篇程序决定了终端模式的大小,小编觉得挺不错的,现在就分享给大家,也给大家做个参考,一起跟随小编过来看看吧。

    1.大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端模式相反

    2.为什么有大小端之分???

    因为在计算机系统中,存储是以字节为单位的,每个地址单元都对应着一个字节,一个字节=8bit。在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器)。对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,如何安排多个字节的存储,这就有了大端存储模式和小端存储模式

    3.各自的优势:

    小端模式:强制转换数据不需要调整字节内容,1、2、4字节的存储方式一样。

    大端模式:符号位的判定固定为第一个字节,容易判断正负。

    4.常用的X86结构是小端模式,而KEIL C51则为大端模式。很多的ARM,DSP都为小端模式.

    5.C语言判断大小端模式

    方法一:

    复制代码 代码如下:

    void IsBigEndian()

    {

    short int a = 0x1122;//十六进制,一个数值占4位

    char b =  *(char *)&a;  //通过将short(2字节)强制类型转换成char单字节,b指向a的起始字节(低字节)

    if( b == 0x11)//低字节存的是数据的高字节数据

    {

    //是大端模式

    }

    else

    {

    //是小端模式

    }

    }

    方法二:

    复制代码 代码如下:

    void IsBigEndian()//原理:联合体union的存放顺序是所有成员都从低地址开始存放,而且所有成员共享存储空间

    {

    union temp

    {

    short int a;

    char b;

    }temp;

    temp.a = 0x1234;

    if( temp.b == 0x12 )//低字节存的是数据的高字节数据

    {

    //是大端模式

    }

    else

    {

    //是小端模式

    }

    }

    在我的机子上验证了一下是小端模式

    155252480285868.png

    C语言程序决定了终端模式的大小就为大家介绍到这里,如果还有其他疑问,欢迎补充,有任何问题也可以与爱站编辑一起讨论。

    展开全文
  • C/C++ 手撸linux终端程序

    千次阅读 2022-03-28 15:20:40
    使用linux系统时,我们经常会使用终端命令执行一些系统命令,比如查看文件夹目录文件“ls -lha”,查看磁盘情况“df -h”,这些命令我们经常使用,那么问题来了,这种效果能使用程序模拟出来吗,手撸一个终端程序...

    系列文章目录


    前言

    在使用linux系统时,我们经常会使用终端命令执行一些系统命令,比如查看文件夹目录文件“ls -lha”,查看磁盘情况“df -h”,这些命令我们经常使用,那么问题来了,这种效果能使用程序模拟出来吗,手撸一个终端程序怎么样!😏

    在这里插入图片描述

    本节主要接收popen函数的使用。

    一、popen()函数介绍

    👉 popen()会调用fork()产生子进程,然后从子进程中调用/bin/sh -c来执行参数command的指令。参数type可使用“r”代表读取,“w”代表写入。依照此type值,popen()会建立管道连到子进程的标准输出设备或标准输入设备,然后返回一个文件指针。随后进程便可利用此文件指针来读取子进程的输出设备或是写入到子进程的标准输入设备中。

    二、使用步骤

    👉 type参数只能是读或者写中的一种,得到的返回值(标准I/O流)也具有和type相应的只读或只写类型。如果type是"r"则文件指针连接到command的标准输出;如果type是"w"则文件指针连接到command的标准输入。
      command参数是一个指向以NULL结束的shell命令字符串的指针。这行命令将被传到bin/sh并使用-c标志,shell将执行这个命令。
    popen()的返回值是个标准I/O流,必须由pclose来终止。前面提到这个流是单向的(只能用于读或写)。向这个流写内容相当于写入该命令的标准输入,命令的标准输出和调用popen()的进程相同;与之相反的,从流中读数据相当于读取命令的标准输出,命令的标准输入和调用popen()的进程相同。

    1.头文件

    使用时需要引入头文件:

    #include <stdio.h>
    

    2.函数定义

    👉 popen函数还创建一个管道用于父子进程间通信。父进程要么从管道读信息,要么向管道写信息,至于是读还是写取决于父进程调用popen时传递的参数。
    定于如下:

    FILE * popen( const char * command,const char * type);
    

    参数一:要执行的命令;
    参数二:操作类型,读(r)/写(w);
    返回值:如果调用fork()或pipe()失败,或者不能分配内存将返回NULL,否则返回标准I/O流。popen()没有为内存分配失败设置errno值。如果调用fork()或pipe()时出现错误,errno被设为相应的错误类型。如果type参数不合法,errno将返回EINVAL。

    3.使用示例

    #include <stdio.h>
    #define CMD_MAX_LENS 256*100
    
    static int GetCmdResult(const char* strCmd, char* strResult, unsigned int nSize)
    {
    	if(strCmd == NULL || strResult == NULL)
    		return -1;
    	
    	if(strResult)
    	{
    		FILE *fd;
    		unsigned int ch,i;
    
    		if((fd = popen(strCmd, "r")) == NULL)
    		{
    			printf("ERROR: get_system(%s)", strCmd);
    			return -1;
    		}
    		for(i=0; i<nSize;i++)
    		{
    			if((ch = fgetc(fd)) != EOF)
    			{
    				strResult[i] = (char)ch;
    			}
    			else 
    			{
    				break;
    			}
    		}
    		pclose(fd);
    	}
        return 0;
    }
    
    int main(int argc, char *argv[])
    {
        char strCmdResult[CMD_MAX_LENS+1] = {0};
    
        int ret = GetCmdResult("df -h", strCmdResult, CMD_MAX_LENS);
        if(ret == 0)
        {
            printf("cmd response:\n%s\n", strCmdResult);
        }
    
        return 0;
    }
    

    执行make,然后运行程序,结果打印为👇:

    $ ./main.out 
    cmd response:
    文件系统        容量  已用  可用 已用% 挂载点
    udev             16G     0   16G    0% /dev
    tmpfs           3.2G   17M  3.2G    1% /run
    /dev/sdb4       226G   53G  162G   25% /
    tmpfs            16G  4.0K   16G    1% /dev/shm
    tmpfs           5.0M  4.0K  5.0M    1% /run/lock
    tmpfs            16G     0   16G    0% /sys/fs/cgroup
    /dev/sdb2       457M  249M  175M   59% /boot
    /dev/sdb1       487M  5.3M  481M    2% /boot/efi
    /dev/loop10     163M  163M     0  100% /snap/gnome-3-28-1804/145
    /dev/loop11      55M   55M     0  100% /snap/snap-store/558
    /dev/loop12      51M   51M     0  100% /snap/snap-store/547
    /dev/loop15      66M   66M     0  100% /snap/gtk-common-themes/1519
    /dev/sda1       2.7T  1.8T  400G   60% /home
    /dev/loop2      249M  249M     0  100% /snap/gnome-3-38-2004/99
    /dev/loop17      44M   44M     0  100% /snap/snapd/14978
    /dev/loop1       62M   62M     0  100% /snap/core20/1361
    none             16G  164K   16G    1% /run/qemu
    

    4.注意事项

    👉 (1)popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程。这个管道必须由pclose()函数关闭,而不是fclose()函数。pclose()函数关闭标准I/O流,等待命令执行结束,然后返回shell的终止状态。如果shell不能被执行,则pclose()返回的终止状态与shell已执行exit一样。
    (2)在编写具SUID/SGID权限的程序时请尽量避免使用popen(),popen()会继承环境变量,通过环境变量可能会造成系统安全的问题。

    三、总结

    👉 本节主要对popen函数进行了讲解,对函数的定义,使用方式和调用关系做了整理,有不对的地方希望读友能够指出。
    本节示例的代码编译测试提供给大家popen用法示例,也希望大家能够验证一下。

    展开全文
  • 为什么要写这篇 本来只是想写输出到文本文档,但后来觉得还有一种输出方式,输出到终端,虽然相比输出到文本文档认为要简单一些,但还是实现一下吧。最终的效果图如下,函数的参数传入与输出到文本文档函数一样:...
  • 如何Linux下运行C语言程序C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。以下是小编为大家搜索整理的如何Linux下运行C语言程序,希望能给大家带来帮助!更多精彩内容请...
  • Linux下运行C语言程序

    千次阅读 2020-12-19 18:26:00
    市面上常见的Linux都是发行...本教程以Deepin为例来讲述如何编译C程序。GeditGedit是一个简单实用的文本编辑器,拥有漂亮的界面,支持语法高亮,比 Vim 更易上手。本教程将Gedit作为C代码编辑器。Gedit的安装:su...
  • 程序使用c语言读特定文件并在终端输出,同时具有删除注释功能,使用者可根据自身需要进行修改
  • cmd中从c盘切换到d盘,并Windows系统中从终端运行Python程序
  • Finder工具栏应用程序在终端中打开当前目录。 它是用Objective-C编写的,并使用脚本桥,因此速度很快。 它也是不可知的。 当您的外壳是bash或fish或zsh时,效果也一样好。 由Jay Tuley 用法: 下载 要将“ ...
  • 方案一 使用code Runner插件 然后用run code 运行,不用vscode的集成终端 方案二 更改mingw版本,退回到8.1.0版本 下载地址 64位电脑用这个 亲测可行
  • 格式: echo "\033[字背景颜色;字体颜色m字符串\033[0m"例如:echo "\033[41;36m something here \033[0m"其中41的位置代表底色, 36的位置是代表字的颜色那些ascii code 是对颜色调用的始末.\033[ ;...
  • Linux(Ubuntu版)下编写运行C语言程序

    万次阅读 多人点赞 2018-02-21 21:16:42
    Linux系统里,需要熟练掌握Terminal里编写C语言程序,进行编译调试。本章主要介绍Linux的终端下编写C程序并编译运行。一,编写C时需要掌握的一些Linux操作(1)文件管理相关的命令Linux命令名称作用使用举例...
  • <p>MinGW64版本8.2.0࿰c;已添加环境变量。 <p>.vscode是cpptools自动生成的࿰c;其中launch.json的externalConsole已改为false࿰c;...但如何更改才能用F5内置终端里显示程序调试的结果呢?</p>
  • 前提是已经安装了c语言需要的扩展,然后运行的库都已经什么的安装好了可以直接运行的那种,环境搭建什么的不记录,这样的情况下我们从别处复制一段c程序应该这样的: 测试代码如下 #include <stdio.h> ...
  • 刚入门学习C语言程序的小伙伴比较常遇到的其中一个问题是:如何Linux下运行C语言程序。今天针对这个热门问题,小编为大家准备了详细的教程!小编先给大家普及一些关于C语言程序的基本常识:首先大家要清楚Linux的...
  • 欢迎转载,请保留作者信息bill@华中科技大学对终端进行读写编写程序时,我们往往需要从终端读入数据。一种情况是需要连续地读入用户键入的选择项,这往往出现数据库程序中。程序员往往会使用getchar函数来读取...
  • 前言前面已经唠叨了这么多理论知识,从这讲开始,就要通过接触...编写第一个C语言程序 – Hello World为什么称第一个程序为“Hello Wolrd”呢?其实计算机行业里面,学习任何技术的第一个程序都可以称为“Hello Wo...
  • 程序将键盘事件从您的终端注入操作系统。 何时使用此程序 您有一个与监视器连接Linux盒子,但没有物理键盘可以连接到它,或者您不想使用物理键盘。 如何使用 将ssh(或telnet或其他任何奇特的协议)放入linux框中...
  • JAVA调用C语言程序

    千次阅读 2020-08-27 13:42:00
    JAVA调用C语言程序JAVA调用C语言程序1. 编写带有native声明的方法的Java类2. 使用javah 生成:jniSample.h的头文件3. 使用C实现本地sum方法:(这里我生成文件时候,误写了jinSample)。4. 将本地方法编写的文件生成...
  • VScode下的powershell下使用命令行编译运行c++文件: ...继续在终端输入:.\a.exe (可以输入a. Tab键会自动补全) ②指定生成可执行文件的名称:(希望得到的6-19_test.exe) 更改生成指令为:g++ -o 6...
  • STM32-超级终端串口控制程序

    千次阅读 2021-04-20 15:27:02
    文章目录示例程序烧录验证基于上一节程序修改烧录验证 杨桃32学习笔记,本文图片文字...我们超级终端输入的命令保存,接收缓冲数组中,当我们按下回车的时候,程序 就会数组中查找我们输入的内容 使能串口1中断
  • 使用macOS终端编写c语言 创建文件 打开终端,使用命令’cd /Users/path‘,进入到想要的工作路径中,我的命令: cd /Users/liudongcheng/Desktop/CTest 使用命令’touch main.c‘创建c语言的.c文件 touch ...
  • Linux虚拟机+编写C程序+修改编码

    千次阅读 2022-03-19 23:49:04
    编译 gcc 文件名.c -o 文件名 Linux下运行C语言程序_C语言中文网 (biancheng.net) 6.运行 ./文件名 Ubuntu下打开文件乱码及编码转换 ps 1.删除文件:ubuntu删除文件夹_weixin_30632899的博客-CSDN博客...
  • lighter-json-colorize lighter-json-colorize模块是用于JSON对象的轻量级终端颜色实用程序。安装您的项目目录中,安装并另存为依赖项: npm install --save lighter-json-colorize原料药现在,请参阅 。例子现在...
  • C语言程序设计期末考试复习题及答案.doc下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。2.下载的文档,不会出现我们的网址水印。3、该文档所得...
  • Windows终端程序是一款新式、快速、高效、强大且高效的终端应用程序,适用于命令行工具和命令提示符,PowerShell和 WSL等Shell用户。主要功能包括多个选项卡、窗格、Unicode、和UTF-8字符支持,GPU 加速文本渲染引擎...
  • 1.shell终端上启动一个进程时候,例如test2.c 编译gcc -o test test.c生成test2可执行文件,test2文件后加&符号,表示这个进程后台运行,但是标准输出还这个shell终端输出,当这个shell终端退出后test2...
  • 了解C语言程序中解释代码及常量

    千次阅读 2022-04-26 18:57:09
    2.创建一个.c文件,一般用vim xxx.c创建.c文件,或者gedit工具来创建。 3.编译代码。 4.编译:gcc xxx.c -o xx(可执行程序名字),如果不加-o则会默认产生a.out 5.执行代码; ./可以执行程序名,如: ./a.out ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 240,852
精华内容 96,340
关键字:

如何在终端修改c程序