在不同平台上开发C/C++程序时,为了避免源码文件乱码,得采用UTF-8编码来存储源码文件.但是很多编译器对UTF-8源码文件兼容性不佳,于是我做了一些测试,分析了最佳保存方案. 一.测试程序 为了测试编译器对UTF-8源码文件兼容性,我编写了这样的一个测试程序—— //#if _MSC_VER >= 1600 // VC2010 //#pragma execution_character_set("utf-8") //#endif #include <stdio.h>…
最近看了很多有关字符编码的讨论帖子, 自己也做了很多尝试, 针对linux和windows上字符编码的选择做了个简单整理, 在此做个记录 首先是基础编码知识, 下面我列出的4个编码方式或字符集是我们应该了解的 1. ANSI 2. UNICODE 3. UTF8 4. GB2312 这里因为个人专业水平有限, 为了避免错误的解释, 不对这些概念做详细解释, 而是贴出一些我查找到的有用的资料 Unicode 和 UTF-8 有什么区别 ---- https://www.zhihu.com/ques…
Crosstool-ng制作交叉编译工具链 交叉编译器可以用现成的,比如CodeSourcery制作的交叉编译器,也可以自己制作,一般是用kernel+gcc+glibc+binutils的源码包来编译安装,后来由于这个太麻烦于是就有类似crosstool这样的自动化配置工具. 现在之所以用crosstool-ng是因为crosstool-ng是新的用来建立交叉工具链的工具,它是crosstool的替换者.crosstool的gcc版本只能到4.1.1,无法编译版本高于2.6.29的linux内…
问题描述:mvn clean install编译工程并运行单元测试出现如下错误 Tests run: 3, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 6.343 sec <<< FAILURE!selectUserInfosTest(tech.fullink.eaglehorn.test.UserInfoTest) Time elapsed: 0.003 sec <<< ERROR!org.apache.ibat…
软件版本:VIvado HLx 2018.2 从FreeRTOS的官网中下载源代码: https://www.freertos.org/a00104.html 图:FreeRTOS的官网 上图中,点击能支持的MCU,找到Xilinx的,如下图: 图:SupportMCUs 支持Xilinx的页面 可以看到,支持的工具是GCC(后面我们保留源码文件夹就只保留GCC的就OK.). 我下载的是v10.0.0的版本(因为在2018.2自带的FreeRTOS BSP是10.0.0的),删除源码中不必要的文…
关注公众号[雪之梦技术驿站]查看上篇文章 猜猜看go是不是面向对象语言?能不能面向对象编程? 虽然在上篇文章中,我们通过尝试性学习探索了 Go 语言中关于面向对象的相关概念,更确切的说是关于封装的基本概念以及相关实现. 但那还远远不够,不能满足于一条路,而是应该尽可能地多走几条路,只有这样才能为以后可能遇到的问题积攒下来经验,所以这一节我们将继续探索封装. 何为探索性学习 通过现有知识加上思想规则指导不断猜想假设逐步验证的学习过程是探索性学习,这样既有利于我们思考又能加深我们对新知识的理解,何乐…
第一步:nginx构建 第二步:Tomcat构建 1.Tomcat基础点 (1)Tomcat 是基于java开发的web容器,用来发布java代码和jsp网页. (2)开发人员开发java web网站,使用Tomcat容器发布和解析,用户通过浏览器实现访问. (3)发布java程序,需要提前配置好JDK环境. (4)JDK是java开发工具包(SDK)和java程序运行环境(JRE):JDK是java开发的核心组件. (5)java运行环境(JRE)包括:JVM+JAVA类和库:   java开…
前面东西说完后,现在可以说一些和我们平时进行性能调优相关的东西了,那怎么看和我们JVM性能调优相关的东西呢,其实这对我们开发来说是一个比较头痛的问题,其实我们JDK官网给了一些我们相关的指令,我们可以用这些命令去排查当前JAVA中当前有多少个进程.可以知道我们内存空间中他是一个什么样的结构.哪些对象占用的比较大.哪些对象占用的比较小.还有查看我们的类加载信息.查看GC信息等. 官网:https://docs.oracle.com/javase/8/docs/technotes/guides/tr…
背景 之前学Java属于赶鸭子上架,草草学习基础语法便直接做课程作业,许多概念问题仍不清楚,故在此梳理一下,主要参考廖雪峰和互联网资料. Java运行方式与JVM Java是介于编译型语言(C++)和解释型语言(Python)之间的.所有Java代码先被编译为.class文件,然后在Java虚拟机(JVM)中运行,跨系统(一次开发,随时可用). JDK,JRE,JVM的联系和区别 JDK(Java Development Kit):开发工具包 包含JRE+编译器.调试器等开发工具 JRE(Jav…
04_Linux基础-.&..-cat-tac->&>>-EOF-Shell-more-ps-less-head-tail-sed-grep-which-whereis-PATH-bash-/usr-locate-find 一. 回顾 回顾 // 将/home/目录下的所有文件和文件夹复制到/jindafu目录下 cp /home/* . -r #注:复制文件夹 接-r 递归复制(因为提到了文件夹) #注:所有 通配符* // 复制/etc/hosts文件到jindafu…
1.安装MinGW编译管理安装软件 官方下载:https://osdn.net/projects/mingw/releases/ 作者百度云备份下载:https://pan.baidu.com/s/1-YIZK-joyS-9hf9CfeCBKw 注意:因为官方网站是外国的服务器,可能国内上不去,需要vpn,或者下载作者在百度云上传的,2019年4月21日的版本 2.安装好MinGW软件后,找到安装文件夹下的bin目录,默认应该是:c:\MinGW\bin 3.系统环境变量的path中将路径添加到…
前文.NET框架源码解读之MYC编译器讲了MyC编译器的架构,整个编译器是用C#语言写的,上图列出了MyC编译器编译一个C源文件的过程,编译主路径如下: 首先是入口Main函数用来解析命令行参数,读取源文件,并开始编译过程.Main函数在MyC.cs文件,而IO.cs文件主要保存读取源码文件的相关操作.下表是Main函数的源码(批注用注释的方式显示),IO.cs文件用单独的一个小节说明: public static void Main() { try { // 看源码注释,代码是99年写的,也就…
导语 GCC(GNU Compiler Collection,GNU 编译器套件) 是由 GNU 开发的编程语言编译器,支持C.C++.Objective-C.Fortran.Java.Ada和Go语言等多种预言的前端,以及这些语言的库(如libstdc++.libgcj等等),它是以 GLP 许可证所发行的自由软件,也是 GNU 计划的关键部分.GCC 原本作为GNU操作系统的官方编译器,现已被大多数类 Unix 操作系统(如Linux.BSD.Mac OS X 等)采纳为标准的编译器,GCC…
多读几篇,每篇取几句精华加深我对QString的理解. ------------------------------------------------------------------ QString内部仍采用UTF-16存储数据且不会改变,但它读char*的时候(C++语言里最常见的形式,特别对于const来说是这样),默认按照latin1来解读字符串,这就造成乱码. QString的成员函数知道按照何种编码来处理 C 字符串QString QString::fromAscii ( con…
技术分析 大家都知道Eclipse已经实现了自己的编译器,命名为 Eclipse编译器for Java (ECJ). ECJ 是 Eclipse Compiler for Java 的缩写,是 JavaTM 认可的 Java 编译工具(类似 javac).可以单独下载使用. IDEA所支持的编译器,也有几种:javac(Java原生编译器).ECJ(支持使用Eclipse编译器).ACJ编译器(不太清楚),其中默认使用的是Javac,同时也推荐使用Javac. 有兴趣可以看看ECJ编译器的相关使…
转载:https://blog.csdn.net/hui12581/article/details/44832651 Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 Chap 3:javah命令帮助信息... 16 Chap 4:用javah产生一个.h文件... 17 Chap5:jni教程(very very good) 19 Chap6: JNI传递返回值... 26 15.2.2.3 传递字符串... 28 15.2.2.4 传递整型数组... 29 15…
Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 Chap 3:javah命令帮助信息... 16 Chap 4:用javah产生一个.h文件... 17 Chap5:jni教程(very very good) 19 Chap6: JNI传递返回值... 26 15.2.2.3 传递字符串... 28 15.2.2.4 传递整型数组... 29 15.2.2.5 传递字符串数组... 30 15.2.2.6 传递对象数组... 31 Chap7:Jni中C++和Ja…
组件---字体图标 无数可复用的组件,包括字体图标.下拉菜单.导航.警告框.弹出框等更多功能. 1.如何使用:        出于性能的考虑,所有图标都需要一个基类和对应每个图标的类.把下面的代码放在任何地方都可以正常使用.注意,为了设置正确的内补(padding),务必在图标和文本之间添加一个空格. 2.不要和其他组件混合使用:     图标类不能和其它组件直接联合使用.它们不能在同一个元素上与其他类共同存在.应该创建一个嵌套的 <span>标签,并将图标类应用到这个 <span>…
Compile FreeCAD on Windows eryar@163.com 1.Introduction FreeCAD是一个参数化的三维造型软件,主要用于任意大小的实际模型的设计.参数化的建模方式可以通过修改相关参数从而方便地修改你的设计.FreeCAD是开源软件,并提供了便利地自定义方式,也提供了脚本,从而根据自己的需要去扩展功能.FreeCAD是跨平台(Windows, Mac和Linux),可以读写许多开放的模型文件,如STEP,IGES,STL,SVG,DXF,OBJ,IFC,D…
Atitit.ide技术原理与实践attilax总结 1.1. 语法着色1 1.2. 智能提示1 1.3. 类成员outline..func list1 1.4. 类型推导(type inference): 1 1.5. Remote debug1 1.6. debugging api包一个gui就够了 1 1.7. expression evaluation 2 1.8. 如Java Compiler API2 1.9. Ide每部分代码数统计3 1.1. 语法着色 语法高亮要靠parser,…
开始阅读Kotlin官方文档.先上文档目录.有些内容还未阅读,有些目录标目翻译还需琢磨琢磨.后续再将具体内容的链接逐步加上. 文档链接:https://kotlinlang.org/docs/kotlin-docs.pdf 网页链接:https://kotlinlang.org/docs/reference/ 1. 入门1.1.基本语法1.1.1. 定义包1.1.2. 定义函数1.1.3. 定义局部变量1.1.4. 使用字符串模板1.1.5. 使用条件表达式1.1.6. 使用nullable值检…
/****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite ** version 3.14.1. By combining all the individual C code files into this ** single large file…
Notepad++是一个小巧精悍的编辑器,其使用方法我就不多说了,由于notepad++是使用c++封装的windows句柄以及api来实现的,因此对于其源码的研究有助于学习如何封装自己简单的库(当然不是MTL.MFC或者QT那样大型的库).Notepad++源码:https://github.com/notepad-plus-plus/notepad-plus-plus/releases/tag/v6.7.9.2. 下面是Notepad++源码的目录:         其主目录如第一张图所示,…
某招聘要求:熟悉高性能分布式网络服务端设计开发,熟悉epoll.多线程.异步IO.事件驱动等服务端技术: <UNIX环境高级编程(第3版)>apue.h等源码文件的编译安装 <UNIX网络编程(第3版)>unp.h等源码文件的编译安装 编译基础 C/C++的开发环境安装 .编译器 cc.gcc.g++.CC 的区别 [荐]C/C++开发工具gcc/gdb .make 和 makefile 的关系 利用 autoconf 和 automake 生成 Makefile 文件 C/C++…
使用Java理解程序逻辑 之凌波微步 船舶停靠在港湾是很安全的,但这不是造船的目的 北大青鸟五道口原玉明老师出品 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识点时,要进行验证 02.查看帮助文档和搜索引擎的使用 借助网络上的Blog文章 03.不要急功近利 不要抱着速成的想法,否则必然走弯路学习编程不是一蹴而就的事情付出的成本高,才能有一个高薪的收入 04.不要浮躁 不要什么都学,只学有用的 浮躁的程度和技术水平成反比的走自己的路,让别人去浮躁去吧! 每天问问自…
我有一个不知道是好还是不好的习惯,搞不懂的一些玩意儿,喜欢调试然后单步执行看这玩意儿到底是怎么运行的. 今天看到正则表达式的时候,appendReplacement()这个方法怎么也看不明白它是怎么工作的,于是想调试源码单步执行,然后watch几个关键的变量看看. 刚开始的时候,eclipse里调试模,单步,发现没有办法进入方法内. 用google百度了一下,发现是JRE配置的问题. 使用jre是不可以的,需要使用jdk的环境.(之前真的没有注意到这一点) 于是window->Preferenc…
第一章  Java基础 程序目标:减轻现实生活中一类人的工作量,提高工作效率. 学员最终可以书写系统: 超市管理系统,POS机系统等 入库单 销售单 01.课程重点 五大重点: 01.分支(选择)结构 02.循环结构 03.数组 04.二重循环 05.带参方法 02.什么是计算机程序? 解析:就是为了完成某一项工作而执行的一系列有序指令的集合. 03.Java相关的技术有哪些? JavaSE(桌面应用开发)  JavaEE(Web开发) 老师,你教教我如何判定一个程序是桌面程序还是web程序?…
操作系统ubuntu14.04 openjdk版本 7u4 openjdk7u4可以在https://jdk7.java.net/source.html下载   一.构建编译环境 sudo apt-get install build-essential gawk m4 openjdk--jdk libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev x11proto-print-dev binutils libmotif3 l…
Windows平台下Makefile学习笔记(一) 作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开发,但我还没安装VS2010,我想在VS2008下编译这些代码):另一方面源码在服务器端编译的话,使用IDE的方式编译还是不太方便. 本文主要分为三部分:第一部分讲述namke工具使用makefile的用法:第二部分讲述makefile的主要语法:…
计算机 介绍 电子计算机(英语:computer),亦称电脑,是一种利用电子学原理,根据一系列指令对数据进行处理的工具. 在现代,机械计算机的应用已经完全被电子计算机所替换,其所相关的技术研究叫计算机科学,而"计算机技术"指的是将计算机科学的成果应用于工程实践所派生的诸多技术性和经验性成果的总合."计算机技术"与"计算机科学"是两个相关而又不同的概念,它们的不同在于前者偏重于实践而后者偏重于理论.此外,电子计算机亦被形象地称作电脑.至于由数据为核…