蓝桥ROS机器人之现代C++学习笔记资料
【摘要】
在蓝桥云课ROS中,使用:
git clone https://github.com/changkun/modern-cpp-tutorial.git
案例作者使用系统如下:
云实践平台使用-std=c++17,
书中第一章案例:
需要做一些修改的。否则报错如下:
C = gccCXX = cl...
在蓝桥云课ROS中,使用:
git clone https://github.com/changkun/modern-cpp-tutorial.git
案例作者使用系统如下:
云实践平台使用-std=c++17,
书中第一章案例:
需要做一些修改的。否则报错如下:
-
C = gcc
-
CXX = clang++
-
-
SOURCE_C = foo.c
-
OBJECTS_C = foo.o
-
-
SOURCE_CXX = 1.1.c.and.cpp
-
-
TARGET = 1.1.out
-
LDFLAGS_COMMON = -std=c++2a
-
-
all:
-
$(C) -c $(SOURCE_C)
-
$(CXX) $(SOURCE_CXX) $(OBJECTS_C) $(LDFLAGS_COMMON) -o $(TARGET)
-
clean:
-
rm -rf *.o $(TARGET)
clang++修改为g++,c++2a修改为c++17。
-
C = gcc
-
CXX = g++
-
-
SOURCE_C = foo.c
-
OBJECTS_C = foo.o
-
-
SOURCE_CXX = 1.1.c.and.cpp
-
-
TARGET = 1.1.out
-
LDFLAGS_COMMON = -std=c++17
-
-
all:
-
$(C) -c $(SOURCE_C)
-
$(CXX) $(SOURCE_CXX) $(OBJECTS_C) $(LDFLAGS_COMMON) -o $(TARGET)
-
clean:
-
rm -rf *.o $(TARGET)
再试一次看看?
书中所有案例均可在蓝桥ROS机器人中进行实践练习。
当然这也是一段混合使用C/C++案例。
foo.h
-
#ifdef __cplusplus
-
extern "C" {
-
#endif
-
-
int add(int x, int y);
-
-
#ifdef __cplusplus
-
}
-
#endif
foo.c
-
#include "foo.h"
-
-
// C code
-
int add(int x, int y) {
-
return x+y;
-
}
x,y求和。
1.1.cpp
-
#include "foo.h"
-
#include <iostream>
-
#include <functional>
-
-
int main() {
-
// use lambda expression
-
[out = std::ref(std::cout << "Result from C code: " << add(1, 2))](){
-
out.get() << ".\n";
-
}();
-
return 0;
-
}
直接调用add。
如果需要输入数值x和y,并求和。
-
int main() {
-
// use lambda expression
-
int x=0,y=0;
-
std::cin>>x;
-
std::cin>>y;
-
[out = std::ref(std::cout << "Result from C code: " << add(x, y))](){
-
out.get() << ".\n";
-
}();
-
return 0;
-
}
文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。
原文链接:zhangrelay.blog.csdn.net/article/details/123857911
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)