首页
学习
活动
专区
工具
TVP
发布

10km的专栏

专栏作者
553
文章
1127544
阅读量
51
订阅数
解决std::addressof找不到及eclipse lunna+cdt 8.6.0 支持 c++11的设置
最近在eclipse下写c++代码,当用到std::addressof时,eclipse报错,说是无法解析这个函数:
10km
2022-05-07
6190
c++ template 多层继承下找不到纯虚拟函数实现 报错:undefined reference to "xxx"
如下代码中,定义了3个类,ClassA,ClassB,ClassC,依次为被继承关系,ClassA,ClassB是模板类, 在ClassA中定义了一个纯虚拟函数getKeyFromObject,实现将从V中获取K的功能: getKeyFromObject函数在ClassA,ClassB中都有被调用,在ClassC中被实现。 按照我的思路,这样就成了。不论在Class,ClassB中,都会调用ClassC中的getKeyFromObject来实现V->K的转换。
10km
2022-05-07
2920
linux/windows下获取gcc(mingw)编译器预定义宏的方式
我们在阅读一些源代码时经常发现类似这样的宏WIN32,_WIN64,__x86_64,__linux却找不到在哪里定义的,这些其实是编译器预定义的宏。在不同的操作系统内容不同。 为了知道gcc编译器都预定义了哪些宏, 在window下可以输入如下命令:
10km
2022-05-07
5420
根据java编译器规则在Class中搜索匹配指定参数类型表的泛型方法(GenericMethod)
因为项目的需要,设计了一个满足特定需要的代码自动生成工具。在开发过程中需要根据方法名和方法参数类型数组在指定的类中根据java编译器的规则找到与之最匹配的泛型方法。 例如,对下面这个类 ,调用test(1,new URL(“http://www.sohu.com“),new Date())会最终调用到哪个方法? 当然java器肯定知道,但它是用什么规则进行匹配的呢?
10km
2022-05-07
1.6K0
c++模板:调用模板成员函数需不需要加template关键字?
以下是个简单的模板类测试代码,模板类A中定义了模板函数hello,在模板函数test中调用A::hello template_test.cpp
10km
2022-04-13
8490
cmake:通过CMAKE_CXX_COMPILE_FEATURES判断编译器是否支持C++11
以前在cmake中要判断一个编译器是否支持C++11挺麻烦的,要根据编译器的类型和版本来判断。 从cmake 3.1版本开始增加了一个CMAKE_CXX_COMPILE_FEATURES变量用于获取当前C++ 编译器支持的编译特性列表,列表中是一些定义在CMAKE_CXX_KNOWN_FEATURES(C++已知特性)中的特性名字,比如cxx_lambdas即为当前编译器支持lambda表达式。 从cmake 3.8版本开始,cmake可识别的编译特性增加了代表C++标准的特性名:cxx_std_98,cxx_std_11,cxx_std_14,cxx_std_17
10km
2022-04-13
3890
conan入门(二十六):使用make编译erpc/erpcgen(makefile)
conan是个包管理工具,不仅仅支持cmake编译,还支持很多常用的构建工具如configure/make,msbuild,VisualStudo,meson,本文以NXP的Embedded RPC为例说明conan中如何使用make来构建项目。
10km
2022-04-13
8940
conan入门(二十五):imports将包安装到本地项目或其他指定位置
在嵌入式平台开发中,我想将conan用作包管理器。例如,我想运行conan install将依赖库安装在在本地项目目录中,最好是直接安装到嵌入式平台供应商提供的SDK框架中,这样就可以直接利用SDK现成的编译架构完成最终程序编译生成镜像。所以我不希望从 ~/.conan 目录引用头文件和库。否则每次编译后都要手工复制库文件到SDK的文件夹中或要创建软连接,这都太麻烦了。
10km
2022-04-13
8310
conan入门(二十四):通过CONAN_DISABLE_CHECK_COMPILER禁用编译器检查
最近工作的一个单片机项目项目,用了一款不知名的芯片,坑爹的开发商提供的编译器中有C++编译器,但是不能正常工作。好在我们的项目是纯C项目不需要C++编译器,只要在项目的cmake脚本中project命令指定为Cproject($NAME LANGUAGE C),这个坑就暂且绕过。
10km
2022-04-13
7950
conan入门(二十三):Windows下MinGW编译libcurl
Windows平台用 conan 使用MinGW编译器编译libcurl,要如下执行
10km
2022-04-13
6650
conan入门(二十一):解决MinGW编译Openssl的编译错误:crypto/dso/dso_win32.c
在编译到crypto/dso/dso_win32.c时报了一大堆错误,大概是这些:
10km
2022-04-13
7190
conan入门(十二):Windows NDK 编译 boost报错:CMake was unable to find a build program .... MinGW Makefile
今天在Windows平台如下正常执行conan NDK交叉编译Boost库时报了个错
10km
2022-04-13
1.6K0
conan入门(九):NDK交叉编译自己的conan包项目塈profile的定义
上一篇博客《conan入门(八):交叉编译自己的conan包项目》中我们以jsonlib为例说明了如何将交叉编译自己封装成conan的模块。但是使用的DS-5 ARM的交叉编译器(arm-linux-gnueabihf)并不常见,也不方便读者实际操作。
10km
2022-04-13
1.2K0
conan入门(八):交叉编译自己的conan包项目
上一篇博客《conan入门(七):将自己的项目生成conan包》中我们以jsonlib为例说明了如何将自己的模块封装成conan提供给第三方使用。
10km
2022-04-13
1.8K0
conan入门(五):conan 交叉编译引用第三方库示例
在上一篇博客《conan入门(四):conan 引用第三方库示例》中我们以cJSON为例说明了如何在项目中引用一个conan 包。那是比较简单的一种编译本机目标代码的应用场景(编译环境是Windows,目标代码也是Windows平台)。在物联应用的大背景下,C/C++开发中跨平台交叉编译的应用是非常广泛的。在使用conan来管理C/C++包(制品库)的环境下,如何实现对交叉编译的支持呢?因为我的工作涉及不少嵌入式平台的开发,conan对交叉编译的支持是我最关心的部分。
10km
2022-04-13
1.4K0
cmake:基于MDK(Keil)的Nationstech.N32G45x平台交叉编译工具链定义
Keil MDK是非常常用的单片机开发集成环境,Keil公司2005年由ARM公司收购,现在是ARM主要的嵌入系统开发平台(ARM的另一个开发环境ds-5早在九年前就停止更新了)。 Keil虽然是个集成开发环境,但Keil本身其实是由μVision IDE和arm编译器构成。cmake虽然目前不支持生成μVision的工程文件,但cmake完全可以使用MDK中提供的arm编译器来实现独立于μVision的交叉编译(说到底μVision只是一个为开发者提供易用的GUI界面,真正干活儿的还是编译器)。 cmake实现交叉编译最重要的就是正确的定义编译工具链(toolchain),本文以Nationstech.N32G45X(国民技术)平台为例说明如何在定义cmake交叉编译工具链来实现使用MDK的armcc编译器执行单片系统的交叉编译。
10km
2022-04-13
8150
cmake/ASR1603:交叉编译工具链定义
在ASR1603 4G模块平台上用cmake交叉编译要求安装DS-5编译器(DS500-BN-00022-r5p0-26rel0.zip)及ASD1603 SDK(asr1603_opencpu_sdk-2022-01-13.zip)(参见ASR1603相关的技术手册)。
10km
2022-04-13
8960
cmake:解决MSVC下/MT 编译paho.mqtt.c的问题
paho.mqtt.c是eclipse开发的C语言跨平台mqtt client 开源库,之前写过一篇博客《cmake:VS2015和GCC编译paho.mqtt C/C++ client》介绍如何编译它。 最近在使用的时候发现有个问题:paho.mqtt.c在MSVC编译的时候不能支持/MT编译。
10km
2022-04-13
6480
make/cmake:海思himix200交叉编译zlib
如果你有定义himix200的工具链文件也可以使用CMAKE_TOOLCHAIN_FILE指定工具链文件来完成交叉编译 参见 https://gitee.com/l0km/faceapi/blob/master/faceapi-rpc-cpp/dependencies/cmake/arm-himix200-linux.toolchain.cmake
10km
2022-01-10
1.3K0
C:_debug_printf,基于vsnprintf 或 vprintf实现带时间戳和源码信息(__FILE__,__FUNCTION__, __LINE__)的格式化打印输出
写C程序的时候,printf输出调试信息是常态,printf输出调试信息时如果能自动带源码信息(__FILE__,__FUNCTION__, __LINE__),显然更方便查找问题,如果能再加上时间戳就更完美了。 如果到处都用printf("%s:%s:%d, %s\n",__FILE__,__FUNCTION__, __LINE__,"hello")写起来也太麻烦了;而且有的时候还需要向内存缓冲区打印输出。而且__FILE__提供的是源码的全路径名,打印实可能会很长。 所以这种直接在代码写printf("%s:%s:%d, %s\n",__FILE__,__FUNCTION__, __LINE__,"hello")语句的方式在实际开发中用起来是很麻烦的。
10km
2021-11-18
1.4K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档