Linux-based Development
Linux(主要基于Debian系)系统下的开发资料
exportPATH=$JAVA_HOME/bin:$PATH
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
/**
NAME
sendfile - transfer data between file descriptors
SYNOPSIS
#include
*/
ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count);
如果在Ubuntu上安装GCC或使用sudo apt-get install build-essential失败,则需要先执行一下sudo apt-get update,更新之后再执行安装命令。
Raspbian系统下所需要安装的开发工具
sudoapt-get update
sudoapt-get installbuild-essential
# 安装用于Objective-C的GNUstep
sudoapt-get installgnustep
sudoapt-get installgnustep-devel
# 安装GTK+3
sudoapt-get installlibgtk-3-dev
# 安装asound2库
sudoapt-get installlibasound2-dev
# 安装alsa-utils
sudoapt-get installalsa-utils
# 安装蓝牙相关工具
sudoapt-get installblueman
# 安装bluetooth开发库
sudoapt-get installlibbluetooth-dev
Ubuntu下安装CUDA以及其自带驱动
以下文档文档可供参考:
先在Ubuntu上卸载原始自带的nVidia驱动,它通常为Linux开源驱动:
sudoapt-get remove --purge nvidia*
sudoapt autoremove
sudoapt-get --purge remove "*nvidia*"
# 查看系统中安装了哪些nVidia驱动,如果全都删除的话应该不会有任何库出现
sudodpkg --list | grepnvidia-*
由于安装NV显卡驱动过程中不能使用X Window界面,因此我们必须进入命令行,关闭图形窗口界面。
首先按下Ctrl + Alt + F1进入命令行模式,然后分别输入用户名和密码。
然后关闭X Server服务:sudo stop lightdm
sudo init 3
重新输入用户名和密码。
运行CUDA安装run文件:sudo bash NVIDIA-Linux-x86_64-xxx.yy.zz.run
最后重启:sudo reboot
CentOS下安装CUDA驱动
准备环境设置:
chmod -R 777 /home/;chmod -R 777 /opt/;yum -y installgcc kernel-devel kernel-headers;mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak;dracut /boot/initramfs-$(uname -r).img $(uname -r);echoblacklist nouveau >>/usr/lib/modprobe.d/dist-blacklist.conf;echooptions nouveau modeset=0 >>/usr/lib/modprobe.d/dist-blacklist.conf
退出GUI桌面:
systemctl stop gdm.service
运行安装文件(run文件):
bash /mnt/andy/soft-all-for-linux/2xianka-install/NVIDIA-Linux-x86_64-390.48.run
卸载驱动:
bash /mnt/andy/soft-all-for-linux/2xianka-install/NVIDIA-Linux-x86_64-390.48.run --uninstall
GNUstep编译选项
我们通过执行以下命令来观察Objective-C编译时所需要的编译选项:gnustep-config --objc-flags
执行以下命令查看Objective-C连接时所需要的加载选项:gnustep-config --objc-libs
整理之后:
exportGCC_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/
gcc test.m -std=gnu11 -Os -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing -pthread -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -fgnu-runtime -fconstant-string-class=NSConstantString -I. -I/usr/local/include/GNUstep -I/usr/include/GNUstep -I${GCC_PATH}include/ -rdynamic -L/root/GNUstep/Library/Libraries -L/usr/local/lib -L/usr/lib -lobjc -lm -lgnustep-base -o test
GTK+ 3编译选项
查看当前环境的GTK+ 3编译选项:pkg-config --cflags --libs gtk+-3.0
整理之后:
exportABI_NAME=${HOSTTYPE}-${OSTYPE}
gcc main.c -std=gnu11 -I/usr/include/glib-2.0/ -I/usr/include/atk-1.0/ -I/usr/include/gdk-pixbuf-2.0/ -I/usr/include/cairo/ -I/usr/include/pango-1.0/ -I/usr/lib/${ABI_NAME}/glib-2.0/include/ -I/usr/include/gtk-3.0/ -L/usr/lib/${ABI_NAME}/ -lgtk-3 -lgobject-2.0 -lpangocairo-1.0 -lgio-2.0 -latk-1.0 -lgdk-3 -lglib-2.0 -o gtk-test
安装LLVM-Clang
sudoapt-get installllvm
sudoapt-get installclang
sudoapt-get installlibdispatch-dev
从GCC 8起,Clang 6起可以使用-std=gnu17标准。
Git命令一般使用
丢弃当前修改的本地文件:git checkout -- filepathname
git status:先检查一下情况
git commit -a -m "xxx":-a表示所有修改过的文件都commit
git commit -m "xxx" 1.cpp 2.cpp:指定commit哪几个文件
vim常用命令
ESC: 进入命令状态
a: 从命令状态进入编辑状态
命令状态下:
:q 退出,不保存
:wq 退出,且保存
强制退出并保存::wq!
FreeBSD相关