自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (8)
  • 收藏
  • 关注

原创 C++学习(四零四)hidden symbol `atexit‘ in XXX is referenced by DSO

执行如下语句时报错:/bin/sh e:/osg-osgearth-source/other_3rdParty/gdal-2.3.2/libtool --mode=link --silent D:/android-ndk-r19c/toolchains/llvm/prebuilt/windows-x86_64/bin/aarch64-linux-android28-clang++ gdalinfo_bin.lo e:/osg-osgearth-source/other_3rdParty/gdal-2..

2021-10-31 19:11:52 1237

原创 C++学习(四零三)-lm -ldl

数学库 -lm ; posix线程 -lpthreadlc 是link libclm 是link libmlz 是link libzldl ,是显式加载动态库的动态函数库如果你的程序中使用dlopen、dlsym、dlclose、dlerror 显示加载动态库,需要设置链接选项-ldl...

2021-10-25 20:52:35 528

原创 C++学习(四零二)记录20211024

今天是20211024,最近一年一直在做osg、osgearth的android移植。

2021-10-24 17:21:16 63

原创 C++学习(四零一)config.guess config.sub

config.guess尝试猜测规范的系统名称config.sub配置验证子例程脚本config.guess 这个是在构建环境上运行的一个脚本,它用来猜测构建机的配置环境,因为这个脚本是在构建机上运行,所以它可以动态执行uname等命令来获得构建机的环境,所以我们一般不要指定这个变量,从而让脚本自动获得。config.sub 这个是将host target build变量正则化的一个脚本,它的sub就是substitute的缩写。因为用户提供的build可能并不符合脚本正规的四元

2021-10-23 06:21:52 1734

原创 五大学科竞赛(四)信息学奥赛试题

2021-10-21 06:26:50 2699

原创 C++学习(四零零)百度文库页面的核心代码(水印部分)

<div style=" position: absolute; bottom: -10px; right: 52px; width: 300px; height: 100px; pointer-events: none; background-repeat: no-repeat; background...

2021-10-20 05:24:08 657

原创 五大学科竞赛(三)-o2 -lm编译选项

使用 math.h 必须使用 -lm 参数指定指定链接到 libm.so使用 O2 优化也能过编译的原因是,在优化的过程中, sqrt(a) 会被直接优化成最终的常数,所以这个时候其实并不需要真正链接。

2021-10-20 03:38:12 280

原创 五大学科竞赛(二)NIOP全国青少年信息学奥林匹克分区联赛竞赛大纲

一、初赛内容与要求:(#表示普及组不涉及,以下同) 计 基 算 本 机 常 的 识 * 诞生与发展  *特点 *在现代社会中的应用 * 计算机系统的基本组成 * 计算机的工作原理# *计算机中的数的表示 * 计算机信息安全基础知识  *计算机网络 计 基 算 本 机 操 的 作 * MS DOS与Windows的使用基础(在2013年后,很少...

2021-10-19 06:26:35 1191

原创 五大学科竞赛(一)介绍

1、什么是五大学科竞赛五大学科竞赛分别是数学、物理、化学、生物和信息学,竞赛分为市级、省级、国决和世界奥赛四个级别,竞赛生需要通过层层选拔才能最终站在世界舞台上。2、参加五大学科竞赛的时间黄金时期:高一高二(尤其是暑假时间)最晚参赛时间:高二下学期、高三上参赛(赛程集中在5-9月)3、五大学科竞赛流程(一)省级初赛(1)参加人员:以学校为单位报名,所有学生均可报考(2)比赛地点:本市(3)优胜者:参加省级复赛(二)省级复赛(1)参加人员:省级初赛优胜者,不可.

2021-10-19 06:07:18 1788

原创 C++学习(三九九)ADRP指令

14: 90000014 adrp x20, 0 <__dso_handle> 18: 90000001 adrp x1, 0 <_GLOBAL__sub_I_geotiff.cpp> 1c: 91000294 add x20, x20, #0x0 20: 91000021 add x1, x1, #0x0ADRP指令编译时,首先会计算出当前PC到exper的偏移量#offset_...

2021-10-18 06:10:43 554

原创 C++学习(三九八)grep命令

grep --help用法: grep [选项]... 模式 [文件]...在每个<文件>中查找给定<模式>。例如:grep -i 'hello world' menu.h main.c<模式>可以包括多个模式字符串,使用换行符进行分隔。模式选择与解释: -E, --extended-regexp <模式> 是扩展正则表达式 -F, --fixed-strings <模式> 是字符串 -G, --bas.

2021-10-17 06:28:47 603

原创 C++学习(三九七)Android Stdudio(AS)提高构建速度的方法

1、找到gradle.properties文件在里面加上:org.gradle.daemon=trueorg.gradle.parallel=trueorg.gradle.jvmargs=-Xmx768m# 编译时使用守护进程org.gradle.daemon=true#JVM最大允许分配的堆内存,按需分配org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Df.

2021-10-15 06:28:08 424

原创 C++学习(三九六)如何查看.o文件

objdump -h xxxx.o 打印主要段的信息objdump -x xxxx.o 打印更多的详细信息objdump -s xxx.o 将所有段的内容以16进制方式打印出来objdump -d xxx.o 或者-S 将所有包含指令的段反汇编objdump -t xxx.o 查看所有的符号以及他们所在段readelf -h xxx.o...

2021-10-15 06:07:18 4635

原创 C++学习(三九五)ELF类型文件

.o文件、可执行文件、核心转储文件(core dump)、.so文件(动态链链接库)

2021-10-14 06:40:02 409

原创 C++学习(三九四)relocation R_AARCH64_ADR_PREL_PG_HI21 undefined reference to `__dso_handle‘

E:\osg-osgearth-source\other_3rdParty\gdal-2.3.2\frmts\gtiff/geotiff.cpp:106: undefined reference to `__dso_handle'geotiff.cpp没有__dso_handleD:\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64\bin/../lib/gcc/aarch64-linux-android/4.9.x/../../.

2021-10-14 06:37:16 2641

原创 C++学习(三九三)__cxx_global_var_init

当编译器在编译MyTest.cpp文件时发现其中定义了全局C++对象,那么除了会将全局对象变量保存在数据段(.data)外,还会为每个全局变量定义一个静态的全局变量初始化函数。其命名的规则如下://按照全局对象在文件中定义的顺序,第一个没有数字序列,后面定义的则按数字序列递增。static ___cxx_global_var_init.();...

2021-10-14 06:11:01 992

原创 C++学习(三九二)-fPIC, -fpic, -fpie, -fPIE

-fPIC与-fpic都是在编译时加入的选项,用于生成位置无关的代码(Position-Independent-Code),可以使得动态库可以被多个程序共享。这两个选项都是可以使代码在加载到内存时使用相对地址,所有对固定地址的访问都通过全局偏移表(global offset table,GOT)来实现。-fPIC和-fpic最大的区别在于是否对GOT的大小有限制。-fPIC对GOT表大小无限制,所以如果在不确定的情况下,使用-fPIC是更好的选择。如果链接的可执行文件的GOT大小超过计算机特定的最大大小,则

2021-10-13 06:04:07 1931

原创 C++学习(三九一)vs2017 Hostx64 Hostx86 x64 x86

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin目录下的Hostx64 Hostx86,以及再下一级的x64 x86,前者代表编译器工具集运行所在的平台,后者代表编译器build应用程序,应用程序所要运行的目标平台。所有运行在X64主机下的编译器的目录名为hostx64,在这个目录下面的子目录文件名x64,x86代表着目标架构....

2021-10-12 04:49:37 2640 3

原创 C++学习(三九零)Intel安腾处理器构建

Intel安腾处理器构建在IA-64(Intel Architecture 64),也就是说“IA-64是一个与x86代码的决裂,它是为未来设计的“。Itanium是专门用在高端企业级64-bit计算环境中竞争的,对抗基于IBM Power4/5,HP PA-RISC,Sun UltraSparc-III及DEC Alpha的服务器。64位只是安腾处理器的一个技术特征。所有基于Intel安腾2处理器的系统都支持32Intel架构(IA-32)软件应用,从而用户移植到Intel安腾2架构提供了更高的灵活性。I

2021-10-12 04:41:14 139

原创 C++学习(三八九)SWIG

SWIG全称是Simplified Wrapper and Interface Generator,官方网站:http://www.swig.org/。SWIG是个帮助使用C或者C++编写的软件能与其它各种高级编程语言进行嵌入联接的开发工具。SWIG能应用于各种不同类型的语言包括常用脚本编译语言例如Perl, PHP, Python, Tcl, Ruby and PHP。支持语言列表中也包括非脚本编译语言,例如C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI),

2021-10-12 04:15:12 437

原创 C++学习(三八八)Doxygen

Doxygen 是一个 C++, C, Java, Objective-C、Python、IDL (CORBA 和 Microsoft flavors)、Fortran、VHDL、PHP、C#和D语言的文档生成器。可以运行在大多数类Unix系统,以及Mac OS X操作系统和Microsoft Windows 。 初始版本的Doxygen借鉴了一些老版本DOC++的代码;随后,Doxygen源代码由Dimitri van Heesch重写。Doxygen是一个编写软件参考文档的工具。 该文档是直接写在代码

2021-10-12 04:13:30 570

原创 C++学习(三八七)make命令执行的是什么

Makefile或GNUmakefile

2021-10-11 21:35:15 182

原创 C++学习(三八六)gdal:cpl Common Portability Library

它与gdal是什么关系

2021-10-11 06:39:06 256

原创 C++学习(三八五)fatal error: ‘json.h‘ file not found

用cygwin编译gdal遇到的,用vs2017编译就没有该问题。In file included from cpl_json.cpp:32:./cpl_json_header.h:36:10: fatal error: 'json.h' file not found

2021-10-11 06:31:26 999

原创 C++学习(三八四)libtool动态库 静态库

Libtool 库可以是一个静态链接库,可以是一个动态链接库,也可以同时包含两者。$ libtool --mode=link gcc -o libcompress.la compress.lo -rpath /tmp -lz可能翻译如下gcc -shared .libs/compress.o -lz -Wl,-soname -Wl,libcompress.so.0 -o .libs/libcompress.

2021-10-10 21:33:21 593

原创 C++学习(三八三).o .a .so .la .lo .lai的区别

o: 编译的目标文件a: 静态库,其实就是把若干o文件打了个包so: 动态链接库(共享库)lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息...

2021-10-10 15:33:50 1251

原创 C++学习(三八二)PACKAGE_NAME PACKAGE_TARNAME

PACKAGE_TARNAM与PACKAGE_NAME不同:后者指定完整的包名(例如,“GNU Autoconf”),而前者表示分发tar ball名称(例如,“Autoconf”)。它默认为带“GNU”的包装,小写,字母数字和下划线以外的所有字符都更改为“-”。...

2021-10-10 07:43:16 224

原创 C++学习(三八一)undefined reference to `libiconv‘

在编译src/iconv.c时遇到的问题原因:在编译时,人为去掉了-DLIBICONV_PLUG宏定义解决办法:如果不去掉上述宏定义,iconv.c中的一些结构体、宏定义等找不到。复制一份iconv.h文件放到src目录下,将.c文件中用到的结构体、宏定义从LIBICONV_PLUG检测中复制出来。...

2021-10-10 06:03:46 448

原创 C++学习(三八零)头文件查找顺序

gcc在编译时按照如下顺序寻找所需要的头文件:1.先搜索当前目录( 这里注意,只有用#include "headfile.h"时才会搜索当前目录 )2.接着搜索-I指定的目录3.然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH4.再找内定目录: /usr/include, /usr/local/include5.最后找gcc的一系列自带目录,如:CPLUS_INCLUDE_PATH=/usr/lib/gcc/x86

2021-10-09 05:54:34 1016

原创 C++学习(三七九)use of undeclared identifier ‘ICONV_SET_DISCARD_ILSEQ‘

clang的iconv.hiconv的iconv.h

2021-10-09 05:45:29 459

原创 C++学习(三七八)ndk-build

通过执行ndk-build脚本启动Android ndk构建系统。 默认情况下,ndk-build脚本在工程的主目录中执行。可以用使用-C参数改变上述行为,-C指定工程的目录,这样我们就可以在任何目录执行ndk-build脚本了。如果源文件没有被修改,那么android ndk构建系统不会重新构建目标,这时我们可以使用参数-B来强制重新构建所有源代码。如果想要清理生成的二进制文件和目标文件,可以使用ndk-build clean命令。android ndk构建系统依赖于GUN make工具对

2021-10-08 06:39:32 186

原创 C++学习(三七七)Makefile 动态库 静态库

#生成静态库 libtest.a$(STATIC_TARGET):$(OBJS) ar cru $(STATIC_TARGET) $(OBJS) ranlib $(STATIC_TARGET)#生成动态库 libtest.so$(SHARE_TARGET):$(OBJS) $(CXX) -shared -fPIC -o $(SHARE_TARGET) $(SOURCE)

2021-10-08 05:58:36 222

原创 C++学习(三七六)Strawberry perl

Perl是一种功能丰富的计算机程序语言。strawberry perl是Perl语言的编译器。Strawberry Perl是用于MS Windows的perl环境,其中包含运行和开发perl应用程序所需的一切。 它被设计为尽可能接近UNIX系统上的perl环境。它包括perl二进制文件,编译器(gcc)+相关工具,所有外部库(加密,数学,图形,xml等),所有捆绑的数据库客户端以及对Strawberry Perl的期望。在Linux和大多数类似UNIX的系统(包括Mac OS X)下,perl

2021-10-07 17:30:02 1778

原创 C++学习(三七五)test命令

test "$am_cv_func_iconv" = yes -a -n "$am_cv_proto_iconv_arg1";-a表示且-n表示字符串不为空

2021-10-07 06:35:43 334

原创 C++学习(三七四)size_t

size_t 类型定义在cstddef头文件中,该文件是C标准库的头文件stddef.h的C++版。它是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小。size_t是标准C库中定义的,在64位系统中为long long unsigned int,非64位系统中为long unsigned int。...

2021-10-06 18:51:29 691

原创 C++学习(三七三)windows android依赖库的顺序

windows从左往右,最先依赖的库放坐标,比如程序a.exe依赖liba.dll liba又依赖libb.dll,则库的顺序为liba libbandroid从右往左,最先依赖的库放右边,上面例子的顺序为libb liba

2021-10-06 09:12:38 190

原创 C++学习(三七二)CPPFLAGS CFLAGS LDFLAGS

CPPFLAGS : 预处理器需要的选项 如:-I (大写i指定头文件路径)CFLAGS:编译的时候使用的参数 –Wall –g -cLDFLAGS :链接库使用的选项 –L -l (大写L指定动态库的路径,小写L指定动态库的名称)指定CPPFLAGS的方法export CPPFLAGS=-I../inc2...

2021-10-06 08:52:35 2017

原创 C++学习(三七一)iconv.c:253:8: error: conflicting types for ‘libiconv‘

./iconv.c:253:8: error: conflicting types for 'libiconv'size_t iconv (iconv_t icd,

2021-10-06 08:50:38 232

原创 C++学习(三七零)工具链NM STRIP作用

nm命令可以列出.o,.a,.so中的符号信息,包括诸如符号的值,符号的类型以及符号名称等等。所谓符号,通常是指定义出来的函数和全局变量等等。“-u”参数可以打印出未定义的符号,需要和其它对象文件进行连接。strip命令可以去除符号表。由于符号表常常占用很大的内存空间,但是,符号表又是Debug过程中的利器,因此实际开发中,常常采取的做法是,strip前的库用来调试,待调试完成之后,strip后的库用来发布。...

2021-10-06 05:45:52 543

原创 C++学习(三六九)ranlib no such file

执行如下命令时提示:D:/android-ndk-r19c/toolchains/llvm/prebuilt/windows-x86_64/bin/aarch64-linux-android-ranlib.exe /cygdrive/e/osg-osgearth-source/other_3rdParty/libiconv-1.15/lib/libcharset.a换成如下正常D:/android-ndk-r19c/toolchains/llvm/prebuilt/windows-x86_...

2021-10-05 19:14:30 412

glview631-setup.exe

直观的查看支持的OpenGL的特性和扩展,你也可以下载OpenGL Extensions Viewer,这个软件也有多个平台的版本。

2021-08-15

osgAndroidExampleGLES2重新组织TestNativeCPlusPlus

osgAndroidExampleGLES2是Eclipse下工程文件,理论上Android Studio也是可以打开执行的,但由于种种原因,无法在Andoid Studio上执行。该程序完全基于Android Studio,用CMake组织C++代码,用Gradle作为构建工具,对osgAndroidExampleGLES2进行了重新配置,可以Android Studio3.5上运行、调试。

2021-06-19

NVIDIA_Nsight_Tegra_Release_3.6.19217.7511.exe

NVIDIA® Nsight™ Tegra®, Visual Studio Edition brings Microsoft Visual Studio to Android, allowing for seamless GDB and JDB remote debugging to all Android devices capable of native application debugging, supporting all Android ABIs – ARM v7, ARM v8, x86, x64.

2021-02-11

wgl相关函数.pdf

wgl是Windows操作系统和OpenGL做交互的一系列扩展api,该文档提供了wgl相关函数及其使用说明。

2020-05-31

mapx功能说明

对mapx的功能有很详细的说明,是开发地理信息系统的一个很好插件

2012-02-23

google输入法

很好用的输入法软件,可以方便的在中英文之间切换,并且字库的命中率也相当高

2008-07-13

瑞星最新杀毒

瑞星最新出的杀毒软件

2008-02-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除