跳至主要内容

如何在mac、windows下开发linux环境下的程序


1.vim

直接在linux环境编写,硬核流派,上手难度高,看不了调用关系?也没用自动补全提示?

2.copy&paste

在本地用各种工具编辑好,复制到linux,缺点是太麻烦,而且版本不好控制

3.samba

通过samba映射linux文件夹到本地,然后编辑,缺点是速度慢,工程里带上boost就爆炸了

4.vscode

vscode速度快,可以直接在samba的目录编辑,缺点是也看不了调用关系,自动补全基本没有,属于半自动化

5.clion

全家桶成员,属于全自动化,有补全,缺点是不能直接在samba目录打开,网速原因,太慢
所以只需要解决代码同步问题即可,在本地编辑,同步到开发机,在开发机编译调试

我的方案

1.准备clion

  • 在本地clone全部代码,包括依赖库。比如boost、protobuf等,放到一个目录,比如project
  • 然后用clion打开,选择New CMake Project From Souce,打开代码目录,会自动生成CMakeList.txt
  • 这时候clion会开始解析,等待它完成
  • 注意到有些头文件或者符号解析不了,那么应该是自动生成的CMakeList.txt的include路径有问题,修改重新加载
  • 反复操作,最后在本地可以完全使用clion的功能,比如跳转、查引用等

2.准备ftp

  1. 下载proftpd服务工具
  2. 解压后进入proftpd目录,运行 sh init.sh 脚本,输入登陆FTP的密码(用户名为当前登陆的用户名,不能使用root用户)
  3. 确认默认的8021端口是否被占用,如果占用,修改 etc/proftpd.conf配置里的端口号
  4. 启动 proftpd:进入proftpd目录,运行 sh start.sh 脚本
  5. 验证 FTP 是否 OK:通过浏览器输入 FTP 地址,输入账号密码测试是否 OK(FTP地址:ftp://ip地址:端口号)

3.clion配置

  1. clion工具栏选择Tools->Deployment->Configuration,点击+号新增一个Server,名字任意,类型为FTP
  2. 填开发机的ip地址、上述步骤开启的端口、用户名、密码
  3. Mappings下修改本地路径以及服务器上对应的路径
  4. 打开自动上传
    Tool——Deployment——Automatic Upload

4.测试

    在clion打开个文件,修改下,会看到输出

测试没问题,那么可以在菜单里选择upload to my,就是把所有的上传服务器

评论

此博客中的热门博文

ncurses与readline结合

  #define _XOPEN_SOURCE 700       /* for wcswidth and 700 is for mbsnrtowcs */ #include<wchar.h> #include<ncurses.h>       /* ncurses.h includes stdio.h */ #include<stdlib.h> #include<string.h> #include<readline/readline.h> #include<locale.h>     int mygetstr( char *str, int y, int x){    WINDOW *win;    int size, col;    int ok = 0;    int width;    wchar_t wstr[80];    char *p;        getmaxyx(stdscr, size, col);        void getaline( char *s){      str = s;      rl_callback_handler_remove();      ok = 1;    }        rl_callback_handler_install( "" , getaline);    win = newwin(1, col-x, y, x);    while (1){      rl_callback_read_char(); ...

简单的整数最小乘积的解法

给定 n 个整数,每次可以从剩下的整数中取走两个整数并计算这两个整数的积。 若该操作进行 m 次,求每次计算的积之和的最小值。 Input / 输入格式 有多组测试数据。第一行输入一个整数 T(约 30)代表测试数据组数,对于每组数据: 第一行输入两个整数 n 和 m(1≤n≤10​5​​, 0≤m≤​2​​n​​),它们的含义如题中所述。 第二行输入 n 个整数 a​1​​,a​2​​,⋯,a​n​​(0≤a​i​​≤10​4​​)表示给定的整数。 Output / 输出格式 每组数据输出一行一个整数,表示积之和的最小值。 Sample Input / 样例输入 3 4 2 1 3 2 4 3 1 2 3 1 4 0 1 3 2 4 Sample Output / 样例输出 10 2 0   Hint / 样例说明 对于第一组样例数据,答案是 1×4+3×2=10。 对于第二组样例数据,答案是 2×1=2。 package main import (         "bufio"         "fmt"         "os"         "sort"         "strconv"         "strings" ) var ...

利用yellowdns解决dns污染问题

 很多网站的dns直接被污染成了127.0.0.1,这样一般就无法访问了,很多翻墙软件也认为是局域网,所以访问不了 这时候,使用yellowdns,将dns转发到远程。然后listen本地的53端口。再将dns服务器都改成本地 vi /etc/resolv.conf windows和路由器,也可以都更改