精华内容
下载资源
问答
  • CC2540USBLinux CC2540 USB Dongle Linux 驱动程序
  • CC1101 Linux设备驱动程序 该项目为Texas Instruments CC1101无线电实现了Linux设备驱动程序。 它已经过Raspberry Pi 3B +的测试。 CC1101是在Sub-GHz工业,科学和医学(ISM)频段(315/433/868/915 MHz)中运行的...
  • [linux]LINUX程序设计cc1--入门

    千次阅读 2017-06-07 22:08:09
    今天开始系统的从头开始学习一下,教材是《Linxu程序设计》和《Unix环境高级编程》。 第一天: UNIX系统:一种遵循特定规范的计算机系统,定义了所有必需的系统函数的名称、接口、行为。 Linux:一个自由发布的类...

    在学操作系统和网络时穿插着学过一点LINUX.今天开始系统的从头开始学习一下,教材是《Linxu程序设计》和《Unix环境高级编程》。

    第一天:

    UNIX系统:一种遵循特定规范的计算机系统,定义了所有必需的系统函数的名称、接口、行为。

    Linux:一个自由发布的类Unix内核实现,是一个操作系统的底层核心。

    GNU(GUN'S NOT UNIX)的GPL:自由软件及其通用许可证。(视为一种与不自由的Unix的抗议,copyleft:copyright的对立)

    发行版:包含内核及很多GNU工具

    文本工具:emacs,vim,gedit都是很实用的编辑器

    编译器:一般自带gcc,复习下使用命令:gcc -o hello hello.c,当前目录下就生成了可执行的hello文件了:./hello


    实践:创建一个小型函数库

    1.工具函数:bill.c,fred.c

    gcc -c bil.c fred.c//执行后从源文件编译到bill.o,fred.o目标文件

    2.接口头文件申明函数:lib.h

    3.调用文件:program.c

    gcc -c program.c

    gcc -o program program.o bil.o//链接成可执行文件

    4.创建并使用一个库文件

    ar crv libfoo.a bill.o fred.o//ar工具将若干单独文件归并到一个大的文件中(lib*.a为静态库命名)libfoo.a

    gcc -o program1 program.o libfoo.a//可以用自己的库文件来链接了

    或者 gcc -o program program.o -L. -lfoo//-L选项指定搜索目录,-lfoo(指定库的名字,lfoo:libfoo的简写)

    总结:调用文件program.c 中 include 库头文件

    链接时 program.o 和 库文件的归并文件 libfoo.a

    分离了用户代码,头文件,库(.a)。


    问题:静态库被多个程序调用时会在内存出现多个副本。

    共享库:程序本身不在包含函数代码,而是引用可访问的共享代码。只有在必要时,才被加载到内存中。



    展开全文
  • 在Gnu / Linux上安装Photoshop CC v19的安装程序,用于Linux的photohop CC v19安装程序,此bash脚本在幕后使用wine在您Linux机器上安装Photoshop CC版本19,并设置了一些必要的组件以获得最佳性能:rocket:功能下载了...
  • illustratorCClinux:GnuLinux的Illustrator CC v17安装程序
  • CC1100是一款优秀无线传送器件,在设计了基于msp430的基础上,认真研究了linux的驱动程序,设计了基于2440开发板的cc1100驱动程序
  • Linux下编写C程序helloWorld

    千次阅读 2019-01-08 15:39:28
    本文简单记录一下在linux下编写c语言程序的步骤。 步骤 1、打开终端窗口,执行以下命令安装gcc编译环境,树莓派系统默认已经安装好gcc环境,可跳过该步骤; sudo apt-get install gcc 2、执行以下命令安装头文件库...

    前言

    最近需要在树莓派上写c语言程序,树莓派所安装的系统为raspberry,隶属于debian系统。本文简单记录一下在linux下编写c语言程序的步骤。

    步骤

    1、打开终端窗口,执行以下命令安装gcc编译环境,树莓派系统默认已经安装好gcc环境,可跳过该步骤;

    sudo apt-get install gcc
    

    2、执行以下命令安装头文件库,这就是build- essential软件包,树莓派系统默认已经安装好build- essential软件包,可跳过该步骤;

    sudo apt-get install build-essential
    

    3、执行以下命令新建一个名为 “helloWorld” 的文件夹;

    mkdir helloWorld
    

    4、执行以下命令进入“helloWorld” 文件夹;

    cd helloWorld
    

    5、执行以下命令新建一个名为 “hello.c” 的文本文件;

    sudo nano hello.c
    

    6、在新建的 “hello.c” 文本文件中写入以下代码;

    #include <stdio.h>
    int main()
    {
    	printf("Hello world!\n");
    	return 0;
    }
    

    7、按下ctrl+o保存文本文件;
    8、按下ctrl+x退出nano文本编辑器;
    9、执行以下命令使用gcc编译hello.c;

    gcc hello.c -o hello
    

    10、编译通过后,我们执行ls会在当前目录中看到hello文件,这就是编译后生成的可执行文件。
    在这里插入图片描述
    11、执行以下命令,可以看到在终端中输出了”Hello world!”,这就说明我们的程序运行成功了。

    ./hello
    

    在这里插入图片描述

    特别说明

    GCC中对于文件后缀的规定有点特殊,特别是C++源代码文件的后缀不是cpp,而是cc或cxx。
    .c为后缀的文件,C语言源代码文件;
    .a为后缀的文件,是由目标文件构成的档案库文件;
    .C,.cc或.cxx 为后缀的文件,是C++源代码文件;
    .h为后缀的文件,是程序所包含的头文件;
    .i 为后缀的文件,是已经预处理过的C源代码文件;
    .ii为后缀的文件,是已经预处理过的C++源代码文件;
    .m为后缀的文件,是Objective-C源代码文件;
    .o为后缀的文件,是编译后的目标文件;
    .s为后缀的文件,是汇编语言源代码文件;
    .S为后缀的文件,是经过预编译的汇编语言源代码文件。

    参考资料

    1、Linux下编写C程序( GCC )(hello,world) - 小彭的Android之旅 - CSDN博客

    展开全文
  • linux framebuff 编程示例程序,可以 应用: root 用户cc -o fbtest fbtest.c 生成执行文件 , 然后执行./fbtest
  • Linux下进行微信小程序开发

    千次阅读 2020-01-22 16:03:32
    一、微信小程序开发流程 有一个邮箱 用邮箱注册小程序账号,并且获取微信小程序AppID 用注册的小程序账号登录微信公众平台 完善小程序信息并且添加开发者(至少一个) 在微信web开发者工具上开发小程序 微信...

    一、微信小程序开发流程

    1. 有一个邮箱
    2. 用邮箱注册小程序账号,并且获取微信小程序AppID
    3. 用注册的小程序账号登录微信公众平台
    4. 完善小程序信息并且添加开发者(至少一个)
    5. 在微信web开发者工具上开发小程序
    6. 微信公众号与微信小程序绑定
    7. 发布小程序代码
    8. 提交绑定

    以上是基本流程,不是难点,使用到的工具微信web开发者工具,下面介绍在Linux上安装配置

    二、Linux上安装微信开发者工具

    https://github.com/cytle/wechat_web_devtools

    这是微信开发者工具在github上的开发代码,具体安装教程在上面都有

    介绍:

    微信开发者工具本质是nw.js ,将其移植到Linux跑没有任何问题,但是负责编译wxml和wxss的wcc和wcsc, 可以使用wine来运行,这里不知道wine是干嘛的可以自行百度。

    所以要装微信开发者工具本体还要装wine,

    注意    我的机器是deepin系统,是ubuntu的衍生版,所以本教程对于Ubuntu应该都是可以的。

    安装过程:

    1.先安装wine   

    sudo apt-get install wine

    2.检查wine版本

     wine --version

    https://upload-images.jianshu.io/upload_images/20932329-0972f980194455dd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

    3. 检查wine的配置

    winecfg

    wcc和wcsc编译错误,如果出现下图可直接跳过

    https://upload-images.jianshu.io/upload_images/20932329-06cff985e9980c2b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

    执行

    sudo apt-get install wine-binfmt
    sudo update-binfmts --import /usr/share/binfmts/wine

    下面开始安装微信开发者工具,新建一个专门的文件夹,我的是在/usr/local/下创建的文件夹

    sudo mkdir weixin

    cd weixin/  进入这个文件夹

    git clone https://github.com/cytle/wechat_web_devtools.git
    

    进入目录:

    cd wechat_web_devtools

     自动下载最新的nw.js,同时部署目录 ~/.config/微信web开发者工具/

    ./bin/wxdt install

     如果执行上面的代码提示没有权限,就执行 sudo ./bin/wxdt install  ,还有就是上面的命令会自动执行部署目录,如果没有这个目录会报错,所以要先在~/.config/下有没有微信web开发者工具这个目录,没有的话新建一个就可以了

    如果你执行了上面的操作,请切换到 wechat_web_devtools这个文件夹

    执行

    sudo chmod -R 777 ~/.config/微信web 开发者工具/

     设置文件夹权限。

    启动:

    ./bin/wxdt
    如果权限不够就使用
    sudo ./bin/wxdt

    启动完成之后虽然出现了界面,但是终端中也出现了三个错误:

    1.错误,忘了,但是通过重启电脑可以解决

    ERROR:sandbox_linux.cc(370)] InitializeSandbox() called with multiple threads in process gpu-process.

     

    3.

    buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
    

     https://upload-images.jianshu.io/upload_images/20932329-a48d58fafad994b3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

    上面两个问题,是因为配置中使用了gpu导致的,所以在启动时强制执行不使用gpu就可以正常运行

    ./bin/wxdt --disable-gpu
    如果提示权限问题,在前面加上sudo

     https://upload-images.jianshu.io/upload_images/20932329-12a971224fdf45d9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

    展开全文
  • Linux下串口程序开发 转帖

    千次阅读 2011-06-14 10:06:00
    嵌入式Linux 串口应用编程6.4 嵌入式Linux串口应用编程6.4.1 串口概述 常见的数据通信的基本方式可分为并行通信与串行通信两种。 并行通信是指利用多条数据传输线将一个字数据的各比特位同时传送。它的特点是...



    6.4  嵌入式Linux串口应用编程
    6.4.1  串口概述
          常见的数据通信的基本方式可分为并行通信与串行通信两种。
          并行通信是指利用多条数据传输线将一个字数据的各比特位同时传送。它的特点是传输速度快,适用于传输距离短且传输速度较高的通信。
          串行通信是指利用一条传输线将数据以比特位为单位顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于传输距离长且传输速度较慢的通信。
          串口是计算机一种常用的接口,常用的串口有RS-232-C接口。它是于1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通信的标准,它的全称是“数据终端设备(DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准”。该标准规定采用一个DB25芯引脚的连接器或9芯引脚的连接器,其中25芯引脚的连接器如图6.3所示。

    6.3  25引脚串行接口图


          S3C2410X内部具有两个独立的UART控制器,每个控制器都可以工作在Interrupt(中断)模式或者DMA(直接存储访问)模式。同时,每个UART均具有16字节的FIFO(先入先出寄存器),支持的最高波特率可达到230.4Kbps。UART的操作主要可分为以下几个部分:数据发送、数据接收、产生中断、设置波特率、Loopback模式、红外模式以及硬软流控模式。
          串口参数的配置读者在配置超级终端和minicom时也已经接触过,一般包括波特率、起始位比特数、数据位比特数、停止位比特数和流控模式。在此,可以将其配置为波特率115200、起始位1b、数据位8b、停止位1b和无流控模式。
          在Linux中,所有的设备文件一般都位于“/dev”下,其中串口1和串口2对应的设备名依次为“/dev/ttyS0”和“/dev/ttyS1”,而且USB转串口的设备名通常为“/dev/ttyUSB0”和“/dev/ttyUSB1”(因版本不同该设备名会有所不同),可以查看在“/dev”下的文件以确认。在本章中已经提到过,在Linux下对设备的操作方法与对文件的操作方法是一样的,因此,对串口的读写就可以使用简单的read()、write()函数来完成,所不同的只是需要对串口的其他参数另做配置,下面就来详细讲解串口应用开发的步骤。
    6.4.2  串口设置详解
          串口的设置主要是设置struct termios结构体的各成员值,如下所示:



          termios是在POSIX规范中定义的标准接口,表示终端设备(包括虚拟终端、串口等)。口是一种终端设备,一般通过终端编程接口对其进行配置和控制。在具体讲解串口相关编程之前,先了解一下终端相关知识。
          终端有3种工作模式,分别为规范模式(canonical mode)、非规范模式(non-canonical mode)和原始模式(raw mode)。
    通过在termios结构的c_lflag中设置ICANNON标志来定义终端是以规范模式(设置ICANNON标志)还是以非规范模式(清除ICANNON标志)工作,默认情况为规范模式。
          在规范模式下,所有的输入是基于行进行处理。在用户输入一个行结束符(回车符、EOF等)之前,系统调用read()函数读不到用户输入的任何字符。除了EOF之外的行结束符(回车符等)与普通字符一样会被read()函数读取到缓冲区之中。在规范模式中,行编辑是可行的,而且一次调用read()函数最多只能读取一行数据。如果在read()函数中被请求读取的数据字节数小于当前行可读取的字节数,则read()函数只会读取被请求的字节数,剩下的字节下次再被读取。
          在非规范模式下,所有的输入是即时有效的,不需要用户另外输入行结束符,而且不可进行行编辑。在非规范模式下,对参数MIN(c_cc[VMIN])和TIME(c_cc[VTIME])的设置决定read()函数的调用方式。设置可以有4种不同的情况。
           MIN = 0和TIME = 0:read()函数立即返回。若有可读数据,则读取数据并返回被读取的字节数,否则读取失败并返回0。
          MIN > 0和TIME = 0:read()函数会被阻塞直到MIN个字节数据可被读取。
           MIN = 0和TIME > 0:只要有数据可读或者经过TIME个十分之一秒的时间,read()函数则立即返回,返回值为被读取的字节数。如果超时并且未读到数据,则read()函数返回0。
          MIN > 0和TIME > 0:当有MIN个字节可读或者两个输入字符之间的时间间隔超过TIME个十分之一秒时,read()函数才返回。因为在输入第一个字符之后系统才会启动定时器,所以在这种情况下,read()函数至少读取一个字节之后才返回。
    按照严格意义来讲,原始模式是一种特殊的非规范模式。在原始模式下,所有的输入数据以字节为单位被处理。在这个模式下,终端是不可回显的,而且所有特定的终端输入/输出控制处理不可用。通过调用cfmakeraw()函数可以将终端设置为原始模式,而且该函数通过以下代码可以得到实现。




          下面讲解设置串口的基本方法。设置串口中最基本的包括波特率设置,校验位和停止位设置。在这个结构中最为重要的是c_cflag,通过对它的赋值,用户可以设置波特率、字符大小、数据位、停止位、奇偶校验位和硬软流控等。另外c_iflag和c_cc也是比较常用的标志。在此主要对这3个成员进行详细说明。c_cflag支持的常量名称如表6.11所示。其中设置波特率宏名为相应的波特率数值前加上‘B’,由于数值较多,本表没有全部列出。
    表6.11    c_cflag支持的常量名称
     
    续表
          在这里,不能直接对c_cflag成员初始化,而要将其通过“与”、“或”操作使用其中的某些选项。输入模式标志c_iflag用于控制端口接收端的字符输入处理。c_iflag支持的常量名称如表6.12所示。
    表6.12    c_iflag支持的常量名称

          c_oflag用于控制终端端口发送出去的字符处理,c_oflag支持的常量名称如表6.12所示。因为现在终端的速度比以前快得多,所以大部分延时掩码几乎没什么用途。
    表6.13    c_oflag支持的常量名称

          c_lflag用于控制控制终端的本地数据处理和工作模式,c_lflag所支持的常量名称如表6.14所示。
    表6.14    c_lflag支持的常量名称


          c_cc定义特殊控制特性。c_cc所支持的常量名称如表6.13所示。
    表6.13    c_cc支持的常量名称

          下面就详细讲解设置串口属性的基本流程。

    1.保存原先串口配置
          首先,为了安全起见和以后调试程序方便,可以先保存原先串口的配置,在这里可以使用函数tcgetattr(fd, &old_cfg)。该函数得到fd指向的终端的配置参数,并将它们保存于termios结构变量old_cfg中。该函数还可以测试配置是否正确、该串口是否可用等。若调用成功,函数返回值为0,若调用失败,函数返回值为?1,其使用如下所示:



    2.激活选项
          CLOCAL和CREAD分别用于本地连接和接受使能,因此,首先要通过位掩码的方式激活这两个选项。

          newtio.c_cflag  |=  CLOCAL | CREAD;

          调用cfmakeraw()函数可以将终端设置为原始模式,在后面的实例中,采用原始模式进行串口数据通信。

          cfmakeraw(&new_cfg);

    3.设置波特率

          设置波特率有专门的函数,用户不能直接通过位掩码来操作。设置波特率的主要函数有:cfsetispeed()和cfsetospeed()。这两个函数的使用很简单,如下所示:

          cfsetispeed(&new_cfg, B115200);
          cfsetospeed(&new_cfg, B115200);
          一般地,用户需将终端的输入和输出波特率设置成一样的。这几个函数在成功时返回0,失败时返回?1。
    4.设置字符大小
          与设置波特率不同,设置字符大小并没有现成可用的函数,需要用位掩码。一般首先去除数据位中的位掩码,再重新按要求设置。如下所示:

          new_cfg.c_cflag &= ~CSIZE; /* 用数据位掩码清空数据位设置 */
          new_cfg.c_cflag |= CS8;

    5.设置奇偶校验位
          设置奇偶校验位需要用到termios中的两个成员:c_cflag和c_iflag。首先要激活c_cflag中的校验位使能标志PARENB和是否要进行偶校验,同时还要激活c_iflag中的对于输入数据的奇偶校验使能(INPCK)。如使能奇校验时,代码如下所示: 

          new_cfg.c_cflag |= (PARODD | PARENB); 
          new_cfg.c_iflag |= INPCK;

          而使能偶校验时,代码如下所示:

          new_cfg.c_cflag |= PARENB;
          new_cfg.c_cflag &= ~PARODD;   /* 清除偶校验标志,则配置为奇校验*/
          new_cfg.c_iflag |= INPCK;

    6.设置停止位

          设置停止位是通过激活c_cflag中的CSTOPB而实现的。若停止位为一个,则清除CSTOPB,若停止位为两个,则激活CSTOPB。以下分别是停止位为一个和两个比特时的代码:

          new_cfg.c_cflag &=  ~CSTOPB;   /* 将停止位设置为一个比特 */
          new_cfg.c_cflag |=  CSTOPB;        /* 将停止位设置为两个比特 */

    7.设置最少字符和等待时间

          在对接收字符和等待时间没有特别要求的情况下,可以将其设置为0,则在任何情况下read()函数立即返回,如下所示:

          new_cfg.c_cc[VTIME]  = 0;
          new_cfg.c_cc[VMIN] = 0;

    8.清除串口缓冲
          由于串口在重新设置之后,需要对当前的串口设备进行适当的处理,这时就可调用在<termios.h>中声明的tcdrain()、tcflow()、tcflush()等函数来处理目前串口缓冲中的数据,它们的格式如下所示。
          int tcdrain(int fd); /* 使程序阻塞,直到输出缓冲区的数据全部发送完毕*/
          int tcflow(int fd, int action) ; /* 用于暂停或重新开始输出 */
          int tcflush(int fd, int queue_selector); /* 用于清空输入/输出缓冲区*/

          在本实例中使用tcflush()函数,对于在缓冲区中的尚未传输的数据,或者收到的但是尚未读取的数据,其处理方法取决于      queue_selector的值,它可能的取值有以下几种。
          TCIFLUSH:对接收到而未被读取的数据进行清空处理。
          TCOFLUSH:对尚未传送成功的输出数据进行清空处理。
          TCIOFLUSH:包括前两种功能,即对尚未处理的输入输出数据进行清空处理。
          如在本例中所采用的是第一种方法:

          tcflush(fd, TCIFLUSH);

    9.激活配置
          在完成全部串口配置之后,要激活刚才的配置并使配置生效。这里用到的函数是tcsetattr(),它的函数原型是:

          tcsetattr(int fd, int optional_actions, const struct termios *termios_p);

          其中参数termios_p是termios类型的新配置变量。
          参数optional_actions可能的取值有以下3种:
           TCSANOW:配置的修改立即生效。
          TCSADRAIN:配置的修改在所有写入fd的输出都传输完毕之后生效。
          TCSAFLUSH:所有已接受但未读入的输入都将在修改生效之前被丢弃。
          该函数若调用成功则返回0,若失败则返回?1,代码如下所示:



          下面给出了串口配置的完整函数。通常,为了函数的通用性,通常将常用的选项都在函数中列出,这样可以大大方便以后用户的调试使用。该设置函数如下所示:



     

    6.4.3  串口使用详解
          在配置完串口的相关属性后,就可以对串口进行打开和读写操作了。它所使用的函数和普通文件的读写函数一样,都是open()、write()和read()。它们之间的区别的只是串口是一个终端设备,因此在选择函数的具体参数时会有一些区别。另外,这里会用到一些附加的函数,用于测试终端设备的连接情况等。下面将对其进行具体讲解。
    1.打开串口
          打开串口和打开普通文件一样,都是使用open()函数,如下所示:

          fd = open( "/dev/ttyS0", O_RDWR|O_NOCTTY|O_NDELAY);

          可以看到,这里除了普通的读写参数外,还有两个参数O_NOCTTY和O_NDELAY。
          O_NOCTTY标志用于通知Linux系统,该参数不会使打开的文件成为这个进程的控制终端。如果没有指定这个标志,那么任何一个输入(诸如键盘中止信号等)都将会影响用户的进程。
          O_NDELAY标志通知Linux系统,这个程序不关心DCD信号线所处的状态(端口的另一端是否激活或者停止)。如果用户指定了这个标志,则进程将会一直处在睡眠状态,直到DCD信号线被激活。
          接下来可恢复串口的状态为阻塞状态,用于等待串口数据的读入,可用fcntl()函数实现,如下所示:

          fcntl(fd, F_SETFL, 0);

          再接着可以测试打开文件描述符是否连接到一个终端设备,以进一步确认串口是否正确打开,如下所示:

          isatty(STDIN_FILENO);

          该函数调用成功则返回0,若失败则返回-1。
          这时,一个串口就已经成功打开了。接下来就可以对这个串口进行读和写操作。下面给出了一个完整的打开串口的函数,同样考虑到了各种不同的情况。程序如下所示:



    2.读写串口
          读写串口操作和读写普通文件一样,使用read()和write()函数即可,如下所示:

          write(fd, buff, strlen(buff));
          read(fd, buff, BUFFER_SIZE);

          下面两个实例给出了串口读和写的两个程序,其中用到前面所讲述的open_port()和set_com_config ()函数。写串口的程序将在宿主机上运行,读串口的程序将在目标板上运行。
          写串口的程序如下所示。




          读串口的程序如下所示:

          在宿主机上运行写串口的程序,而在目标板上运行读串口的程序,运行结果如下所示。



          另外,读者还可以考虑一下如何使用select()函数实现串口的非阻塞读写,具体实例会在本章的后面的实验中给出。

     

    展开全文
  • photoshopCClinux:适用于GnuLinux的Photoshop CC v19安装程序
  • adv7611Linux驱动程序,ADV7612,CC++源码.zip
  • Linux下计算程序运行时间的两种方法

    千次阅读 2013-09-23 16:36:59
    转自:http://hi.baidu.com/starflier/item/14057315de8fb8cc38cb30bb 有时候我们需要计算程序...在linux下有下面两种计算程序运行时间的方法: 方法一: #include int gettimeofday(struct timeval
  • Linux高级程序设计

    2018-04-30 00:39:03
    关于Linux的高级程序设计的书籍,不多说,下载看了在评论。
  • Linux下编写程序必要工具使用详解

    千次阅读 2016-10-08 22:44:39
    声明:本文转载自博客园:GCC 编译详解 - azraelly - 博客园 ...GNU CC(简称为Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。Gcc不仅
  • Linux下编写OpenGL程序

    千次阅读 2017-03-14 23:47:50
    安装所需要的库 ...g++ triangle.cc -lglut -lGL -o triangle 代码中引用”GL/glut.h”也能编译通过。 参考 http://www.linuxjournal.com/content/introduction-opengl-programming 其他 ...
  • 把两个开源项目合并到一起,但是一个是c编写,一个是c++编写,在linux环境实现两个项目的混合编译,以及互相的调用。
  • Linux下的gcc,cc,g++,CC的区别

    千次阅读 2014-11-18 09:37:13
    linux下cc一般是一个符号连接,指向gcc;gcc和g++都是GUN(组织)的编译器。而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Linux/Unix都是大小写敏感的系统,这点一定要注意。 cc是Unix系统的C ...
  • linux环境下cc和gcc工具

    千次阅读 2015-07-30 10:52:26
    首先,如果讨论范围在Unix和Linux之间,那么cc和gcc不是同一个东西。cc来自于Unix的c语言编译器,是 c compiler 的缩写。gcc来自Linux世界,是GNU compiler collection 的缩写,注意这是一个编译器集合,不仅仅是c或...
  • Linux下C++程序中的内存泄露检查

    千次阅读 2010-07-17 20:38:00
    linux, c, c++, 内存泄漏
  • 昨天肚腩群里有人问LINUX下C如何获取程序绝对路径。初看这问题,肚腩觉得很简单啊,就用getcwd或者argv[0]就可以了。写了个程序试试, #include int main(int argc,char *argv[]) {  char buffer[100];  ...
  • Linux下C语言程序简单的编写和调试

    千次阅读 2011-07-26 22:50:53
    1.建一个目录2.写代码,建一个hello.c文件代码:view plaincopy to clipboardprint?#include "stdio.h" main() { printf("Hello Linux.\n") } view plaincopy to
  • linux下,基于cc2538的contiki平台搭建

    千次阅读 2015-05-31 22:21:41
    linux下,基于cc2538的contiki开发平台搭建
  • 一)汇编源程序分析:编写一个AT&T的汇编语言程序,使程序在运行时睡眠10秒钟源代码如下:#include "sys/syscall.h".datasleeptime:.long 10,0.text.global _start .type _start, @function_start: movl $SYS_...
  • linux下一般链接时程序查找动态库的顺序为: a.根据环境变量LD_LIBRARY_PATH查找 b.根据/etc/ld.so.cache查找 c.查找依次在/lib和/usr/lib目录查找。 a 举例: 由于动态库的链接和运行时的目录是分开指定的,所以...
  • 项目遇到一个问题,就是程序在Ubuntu运行的时候是正常的,至少大部分时候运行是正常的,但是移到开发板上,就会出现段错误。这时候突然想到了GDB,从来都没有接触过调试工具,以前的调试都是使用printf直接打印的...
  • Linux下编译并运行C程序

    热门讨论 2012-10-09 09:48:23
    Linux下编译并运行C/C++程序的流程,包括环境设定,编译命令,makefile编写等
  • 昨天在linux下运行一个C程序,是处理一段视频中的每一帧的,本来在程序中是要每处理完一帧就要输出一条信息的,但是在运行是却不显示,而是在程序运行完成之后一块输出的,但是在windows中运行程序就没有这个问题。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 109,702
精华内容 43,880
关键字:

linux下cc程序

linux 订阅