查看远程跟踪的分支

git branch -vv

修改远程跟踪的分支

# git版本: 1.8+
# 设置当前分支跟踪为origin/dev
git branch --set-upstream-to=origin/dev

# 设置本地分支dev1跟踪为origin/dev
git branch --set-upstream-to=origin/dev dev1

# 简化的命令
git branch -u origin/dev
git branch -u origin/dev dev1

# git版本: 1.7
git branch --set-upstream dev origin/dev

最近一个C项目需要调用一个C++的库,将调用过程简化一下写出来.

在c的代码main.c调用duck.cpp里的say()方法, 代码如下:

duck.h

#ifndef _DUCK_H_
#define _DUCK_H_

class Duck{
    public:
        void say();
};

#endif

duck.cpp

#include "duck.h"
#include <iostream>

using namespace std;

void Duck::say(){
    cout << "ga~ga~ga~" << endl;
}

animal.h

#ifndef _ANIMAL_H_
#define _ANIMAL_H_

#ifdef __cplusplus

#include "duck.h"

Duck duck;

extern "C" {
    void duckSay();
}

#endif
#endif

animal.cpp

#include "animal.h"
#include "duck.h"

void duckSay(){
    duck.say();
}

main.c

#include "animal.h"

void duckSay();

int main(void){
    duckSay();
}

编译

g++ -shared -o libduck.so animal.cpp duck.cpp 

gcc main.c ./libduck.so -o duck

./duck