用Linux怎样编写C/C++代码

由于在编写进程时,一些进程的函数需要在Linux环境下才能运行,因此需要掌握基本的编译方法。

第一步:安装C/C++编译器gcc、g++

安装gcc编译器命令:

yum -y install gcc

安装g++编译器命令:

yum -y install gcc-c++

编写C语言程序:

首先编写一个简单的Chello.c

输入指令:vi Chello.c

然后输入想要编写的程序:

输入i进行编写;退出先按Esc,然后输入:wq!保存退出

运行程序:输入下面两条指令,先将Chello.c变为可执行程序Chello,然后再执行

gcc CHello.c -o Chello
./Chello

 

编写C++程序:

注意这个地方创建的是.cpp,而不是.c。

运行时与C语言程序的运行有差别,不能直接-o产生可执行程序,而应该先进行链接

gcc -c CcHello.cpp
gcc CcHello.cpp -o CcHello -lstdc++
./CcHello 

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是使用 ALSA 库打开 Linux 系统麦克风的 C/C++ 代码示例: ```c #include <stdio.h> #include <stdlib.h> #include <alsa/asoundlib.h> int main() { int err; char *device = "default"; // 使用默认音频设备 snd_pcm_t *handle; // PCM 设备句柄 snd_pcm_hw_params_t *params; // PCM 设备硬件参数 unsigned int sample_rate = 44100; // 采样率 unsigned int channels = 1; // 声道数 snd_pcm_format_t format = SND_PCM_FORMAT_S16_LE; // 采样格式 // 打开 PCM 设备 err = snd_pcm_open(&handle, device, SND_PCM_STREAM_CAPTURE, 0); if (err < 0) { printf("Error opening PCM device: %s\n", snd_strerror(err)); exit(EXIT_FAILURE); } // 分配 PCM 设备硬件参数结构体 snd_pcm_hw_params_alloca(&params); // 初始化 PCM 设备硬件参数 err = snd_pcm_hw_params_any(handle, params); if (err < 0) { printf("Can't initialize PCM device: %s\n", snd_strerror(err)); exit(EXIT_FAILURE); } // 设置 PCM 设备硬件参数 err = snd_pcm_hw_params_set_access(handle, params, SND_PCM_ACCESS_RW_INTERLEAVED); if (err < 0) { printf("Error setting access: %s\n", snd_strerror(err)); exit(EXIT_FAILURE); } err = snd_pcm_hw_params_set_format(handle, params, format); if (err < 0) { printf("Error setting format: %s\n", snd_strerror(err)); exit(EXIT_FAILURE); } err = snd_pcm_hw_params_set_channels(handle, params, channels); if (err < 0) { printf("Error setting channels: %s\n", snd_strerror(err)); exit(EXIT_FAILURE); } err = snd_pcm_hw_params_set_rate_near(handle, params, &sample_rate, 0); if (err < 0) { printf("Error setting sample rate: %s\n", snd_strerror(err)); exit(EXIT_FAILURE); } // 将 PCM 设备硬件参数设置到 PCM 设备中 err = snd_pcm_hw_params(handle, params); if (err < 0) { printf("Can't set hardware parameters: %s\n", snd_strerror(err)); exit(EXIT_FAILURE); } // 开始录音 err = snd_pcm_prepare(handle); if (err < 0) { printf("Can't prepare audio interface for use: %s\n", snd_strerror(err)); exit(EXIT_FAILURE); } printf("Start recording...\n"); while (1) { short buf[1024]; // 缓冲区 int frames_read; // 读取到的帧数 frames_read = snd_pcm_readi(handle, buf, 1024); // 读取 PCM 数据 if (frames_read == -EPIPE) { // 发生数据溢出 printf("Overrun occurred\n"); snd_pcm_prepare(handle); } else if (frames_read < 0) { // 其他错误 printf("Error reading from PCM device: %s\n", snd_strerror(frames

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大学生毕设

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值