程序移植

Java第三天-程序的移植

 ̄綄美尐妖づ 提交于 2020-03-23 10:31:36
一、右键->Import->General->Existing Projects into Workspace->Browse->选择文件二、学习方法三、java关键字Java 语言中有一些具有特殊用途的词被称为关键字。关键字对 Java 的编译器有着特殊的意义,在程序中应用时一定要慎重哦!!Java 中常用关键字:Java 关键字是区分大小写的哦!所以 void 是关键字,但 Void 就不是了~~四、标识符标识符就是用于给 Java 程序中变量、类、方法等命名的符号。 使用标识符时,需要遵守几条规则: 1. 标识符 可以 由 字母、数字、下划线(_)、美元符($) 组成,但不能包含 @、%、空格等其它特殊字符 ,不能以数字开头 。譬如:123name 就是不合法滴 2. 标识符 不能是 Java 关键字和保留字 ( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以 3. 标识符是 严格区分大小写 的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦! 4. 标识符的命名最好能反映出其作用,做到 见名知意 。 五、变量 在 Java 中,我们通过三个元素描述变量: 变量类型、变量名 以及 变量值 。 1、变量名由多单词组成时, 第一个单词的首字母小写 ,

java语言的优点

非 Y 不嫁゛ 提交于 2020-03-03 23:57:37
1. java是面向对象的语言 直接反应现实生活中的对象 2. 平台无关性 、可移植性 java语言具有“一次编译、到处运行”的特点。Windows、Linux、MacOS平台都能对java程序进行编译并执行编译后的代码。java为解释型语言,编译器会把Java代码变成中间代码然后在java虚拟机上解释执行。由于中间代码与平台无关,因此,java语言可以很好的跨平台执行,具有很好的可移植性。 3. java提供很多内置的库类 通过类库,开发人员的程序设计工作得到简化,同时缩短了项目开发时间。 4. 提供了对web应用开发的支持 例如,Applet、Servlet和JSP可以用来开发web应用程序;Socket、RMI可以用来开发分布式应用程序的类库。 5. 具有很好的安全性和健壮性 java语言提供一个防止恶意代码攻击的安全机制(数组边界检测和Bytecode校验等)。Java的强制性机制、垃圾回收器、异常处理和安全检查机制使得Java程序具有很好的健壮性。 6. 去除了很多C++语言中难以理解、容易混淆的特征 例如头文件、指针、结构、单元、运算符重载、虚拟基础类、多重继承等、使得程序更加严谨、简洁。 来源: https://www.cnblogs.com/leejalen/p/12405477.html

Qt移植

和自甴很熟 提交于 2020-02-14 00:37:16
在嵌入式Linux应用中,有时会用到图形界面。在目前流行的图形界面中,比较有名的当数Qt。Qt是1991年由挪威Trolltech公司开发的一个跨平台C++图形用户界面应用程序开发框架,主要用来开发GUI(Graphical User Interface)程序。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。Qt作为一个跨平台的GUI 框架,在源码上对所有平台都是一致的,Unix/Linux上最流行的桌面环境之一KDE就是采用Qt来写的。 Qt具有以下优点: 1、优良的跨平台特性。Qt支持下列操作系统: Microsoft Windows 95/98,Microsoft Windows NT,Linux,Solaris,SunOS,HP-UX,Digital UNIX(OSF/1,Tru64),Irix,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX 等等。 2、面向对象。Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt提供了一种称为signals/slots的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。 3、丰富的API。Qt包括多达250个以上的C++类

.NET平台下开源框架

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-20 08:36:15
一、AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架。Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式。这种部署方面(aspects)的方法帮助缺少经验的开发人员提高开发效率。 NKalore是一款编程语言,它扩展了C#允许在.net平台使用AOP。NKalore的语法简单、直观,它的编译器是基于Mono C#编译器(MCS)。NKalore目前只能在命令行或#Develop内部使用。NKalore兼容公共语言规范CLS(Common Language Specification),它可以在任何.NET开发环境中使用,包括微软的Visual Studio .NET。 PostSharp读取.NET字节模块,转换成对象模型。让插件分析和转换这个模型并写回到MSIL。PostSharp使开发程序分析应用程序容易得像分析代码规则和设计模式,它使程序开发的思想变革为面向方面软件开发(AOSD/AOD)思想。 AspectDNG的目标是为.NET开发人员提供简单而功能强大的AOP-GAOP实现。它效仿java下的开源工具AspectJ 和 Spoon,成熟程度也很接近它们。 RAIL(Runtime Assembly Instrumentation Library) 开源项目可以在C

005_STM32程序移植之_RC522读卡模块

牧云@^-^@ 提交于 2019-12-24 12:09:51
测试环境:STM32C8T6 测试模块:RC522读卡模块 测试接口: RC522读卡模块: VCC------------------3.3V GND------------------GND SDA-----------------PA4 SCK-----------------PA5 MOSI-----------------PA7 MISO-----------------PA6 RQ-----------------悬空 RST-----------------VCC3.3 串口使用串口一,波特率9600 单片机引脚------------CH340引脚 VCC--------------------VCC GND-------------------GND PA9--------------------RXD PA10-------------------TXD 疑惑QQ:3045136580 假如以下视频播放不了,可以到腾讯《STM32移植系列》专辑中查找相对应的 腾讯个人主页: http://v.qq.com/vplus/ffb274f0adf3a4d4374b388a03b2358f/folders 本移植教程地址: https://v.qq.com/x/page/z0766j8d9ps.html 资料下载地址: https://download.csdn.net

嵌入式行业知识结构导航

拈花ヽ惹草 提交于 2019-12-23 09:29:32
第一部分:Linux平台搭建与环境熟悉 了解linux系统;区分各种版本的Linux系统,以便于拓展 Linux视野。 1、Linux 简介; 2、Linux 系统的主要特点; 3、Linux 的组成; 4、主要的 Linux 版本; 5、嵌入式 Linux简介与发展 第二部分:虚拟机安装和LINUX系统安装 1、虚拟机安装; 2、Linux系统的安装; 3、Linux系统的常用软件的安装; 4、Linux快速入门 5、 熟悉运用 Linux环境下,常用命令的操作与系统设置,如常用的 Shell;掌握基本的Shell 应用 第三部分:嵌入式LINUX环境搭建 1、 建立嵌入式 Linux开发环境 2、 熟悉嵌入式开发平台 3、 嵌入式 Linux开发工具 4、 Linux下的调试技巧 5、 MAKE工程管理器 6、 硬件环境的搭建;arm-linux-gcc与 gcc安装配置 第四部分:U-Boot 了解 U-Boot 的作用及工作流程;了解Bootloader 的代码结构、编译过程;移植U-Boot;掌握常用的U-Boot命令。 1、 Bootloader介绍 2、 u-boot工程介绍 3、 u-boot的编译使用 4、 u-boot源码分析 5、 u-boot资源分配 6、 配置编译u-boot 7、 u-boot移植过程 8、 u-boot常用命令操作 9、 添加u

让人蛋疼的Objective-C语法

这一生的挚爱 提交于 2019-12-10 03:41:26
真的很蛋疼,发明这个语言的家伙肯定是因为自己的蛋疼了才发明了这个语言,然后推广这个语言的人因为蛋疼也就推了这个语言,最后蛋疼的受害者就是开发者,包括我这样的爱好者。 最蛋疼的语法肯定就是方法调用,java一个点就搞搞定的事情,它非得用中括号,然后就是参数,申明的格式和调用的方式让人无法接受,如果说这是编程语言的优雅,那么就蛋疼得优雅吧。 没有命名空间机制,也就是跟你说,你就不要想着把程序写大了,你不要想着重用你的代码了…………-_-||| 其实学习Objective-C并不困难,有C基础就行,然后接受蛋疼的部份,把蛋疼移植到你的蛋上,继续疼就行了。 不过Objective-C也有很让人称道的地方,就是速度快,还有什么可说的,本就是C程序,只是稍蛋疼地包装一下,速度不快不行,也能怪iPhone远比Android程序反应快主因了。 我现在要做的是,蛋疼移植,要疼得习惯。 来源: oschina 链接: https://my.oschina.net/u/89828/blog/39181

将 C++ Qt 程序移植至 Linux 系统

不问归期 提交于 2019-12-05 16:56:12
前言 Qt 的安装 选择对应版本 更改文件的属性使得其具有可执行性 执行程序 检查 Qt Creator 是否勾选 进入 Qt Creator Qt 环境的配置 安装 gcc 或 g 编译器 编译器错误 ICE in gen_type_die_with_usage 更新 g C 在 MSVC 与 GNU G上的不同之处 enum 的前置声明 size_t 与 stdsize_t auto 推断函数返回值 函数返回数组问题 其他问题 初始化顺序 warning will be initialized after -Wreorder 替换 INT_MAX 和 INT_MIN 感想 前言 前段时间,我一直在使用 Visual Studio 编写一个 C++ Qt 游戏小程序: https://github.com/lgasyou/SimpleSimulator 。突然有一天,我想看看它的可移植性到底如何,于是我把它转化成 .pro 并移至了 Ubuntu 14.04 系统中,之后就开始了漫长的配置之旅。 Qt 的安装 1. 选择对应版本 可以前往 Qt 的官方网站根据CPU架构类型和版本号的不同选择 qt-opensource-linux-CPU架构类型-任意版本号.run 下载,例如需在 32 位系统下下载版本号为 5.8.0 时的 Qt 则选择 qt-opensource-linux

Windows下C++程序移植到Linux上的几个问题及解决方法

独自空忆成欢 提交于 2019-12-05 16:54:01
今天帮朋友从Windows下移植一个小程序到Linux下,遇到了两个问题,在这里分享一下解决方法。 刚开始觉得,移植应该很简单,就是重新再Linux下编译一次就可以了。但是遇到了,不少问题。下面一一说明。 1、fopen_s()函数报错。 原因是,fopen_s()这个函数并不是标准的C++库中的函数,是微软特有的,也就是说如果你用VS编译不会有问题,但是如果你用Linux的g++或gcc就会报错。 解决办法,用fopen()代替。具体可参考: http://zhidao.baidu.com/link?url=8HhseVoTmwWpgmv-dsJyRjxt8sd1oJaqzZkJGzuJ_TKyNXbiEgs-EtPxie_xhfiwOY4uqojpKETCOugGZhrmCgt2pzLow2wq1urrVUCj0KS FILE *fp; fopen_s(&fp,BBC,"rb"); //改成如下 fp = fopen(BBC,"rb"); 2、第二个问题是怎么样使用C++11的库。 我们知道,现在C++11标准已经使用很多了。那我们怎样在编译的时候指定使用C++11标准呢? 这里说两种情况: 1、g++,使用-std=c++11 g++ -std=c++11 test_slic.cpp slic.cpp -o test_slic.exe -L/home/sun/cmake

windows程序移植到linux总结

◇◆丶佛笑我妖孽 提交于 2019-12-05 16:53:32
首先要写makefile,很简单,有专门博客,大家去搜一下..下面把编译时遇到的问题总结下.大部分解决方法是从网上找的,这里对看过文章的作者表示感谢. 1, max,min函数,自己代码实现了这两个函数,会和linux自带的有冲突. 解决方法: 删除自己的函数 2, error: ‘STATUS’ is not a class or namespace 解决方法:类内部枚举不要加namespace符号,直接写枚举变量 3, ‘>>’ should be ‘> >’ within a nested template argument list 解决方法:>>之间加空格.linux防止歧义. 4, ‘std::shared_ptr’ has not been declared 解决方法:std::tr1::shared_ptr,添加头文件#include<tr1/memory> 5, ‘atoi’ is not a member of ‘std’ 解决方法:#include <cstdlib> 6, ‘sprintf_s’ was not declared in this scope 解决方法:换为snprintf 7, there are no arguments to memcpy that depend on a template parameter, so a