- 博客(33)
- 资源 (2)
- 收藏
- 关注
原创 2021-09-8 华为机考第三题
某公司需要在项目中引入某开源工程,需要评估该开源工程中某模块的编译时间,当前已知该项目中每个模块的编译时间以及依赖模块列表,在拥有无限数量的并行任务情况下,求某个指定模块的最短编译时间。若模块间存在循环依赖或依赖模块不存在,则无法完成编译,返回-1;输入描述:第一行输入为目标模块名;以后每一行输入定义一个模块,包含模块的名字,编译时间,依赖模块列表,用逗号隔开,若依赖模块列表不存在,则表示可以独立编译,例如:module2,10,module1module1,10模块名只包含字母和数字且至
2021-09-12 13:22:48
334
原创 用C++对Duktape JavaScript引擎的简单封装。
Duktape是款比较小巧的JavaScript引擎,适用于嵌入式系统,不过API使用不太方便,研究了两天决定放弃。下面把测试代码上来,做个备忘吧。duktape_helper.hpp文件#ifndef DUKTAPE_HELPER_HPP#define DUKTAPE_HELPER_HPP#include <memory>#include <string>...
2018-08-25 11:21:07
2331
原创 Macos 编译SpiderMonkey1.8
源码下载地址:http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz解压后进入src目录运行 make -f Makefile.ref报错如下:2 warnings generated.cc -o Darwin_DBG.OBJ/jsprf.o -c -Wall -Wno-format -MMD -g3 -DXP...
2018-08-22 12:00:18
727
1
原创 lua交叉编译到arm-linux上。
最近要做一个arm平台的通讯控制器,需要通过modbus采集数据并做PID控制。PID控制打算通过C程序嵌入外部脚本来执行,lua是一个很不错的选择,只需要c程序提供读写内部数据的接口给lua脚本调用就可以了。不过lua源代码没有提供arm-linux编译配置,没关系,自己加一个就可以了。1、lua源代码可以直接从官网下载http://www.lua.org/download.html2、...
2018-04-03 20:00:45
2543
原创 Mac下使用arm-linux-gnueabihf交叉编译openssl方法
1、先下载openssl源码https://github.com/openssl/openssl/archive/master.zip2、解压缩后进入源码目录执行./Configure linux-armv4 no-asm shared --prefix=/Volumes/work/opt/openssl/生成Makefile文件3、编译源码make CROSS_C...
2018-03-25 20:02:22
1875
原创 在c#中使用opencv的一种方法
一直没怎么用过c#做开发,加上这次一共用c#做过两个程序,第一个是关于修改网页的,用C#结合com组件还是很方便的。这次帮别人demo一个用c#实现图片裁剪和半透明融合的功能演示程序。功能挺简单的,就是把一张固定大小的图片先做边缘羽化,然后贴到一个圆形泡泡形状的底图上,最后把结果半透明融合到一张背景图上。C#实现图像的羽化、将图片裁剪复制到一个圆形图片这些都挺简单的,最后一步融合到背景图上需要...
2017-12-23 12:11:15
22195
4
原创 linux 位操作c语言
Linux 内核 bitops 非原子操作实现。static inline void set_bit(int bit, volatile unsigned long *addr){ unsigned long mask = BIT_MASK(bit); unsigned long *p = ((unsigned long *)addr) + BIT_WORD(bit);
2016-11-26 10:04:43
970
原创 live555 arm 共享库编译。
1、genMakefiles linux-with-shared-libraries 生成Makefile2、CC=arm-linux-gcc CXX=arm-linux-g++ make 编译共享库
2016-10-14 19:09:56
473
转载 Qt Project ERROR: Xcode not set up properly
升级xcode 后 Qt 出问题了,google 找到了解决方法。http://stackoverflow.com/questions/33728905/qt-creator-project-error-xcode-not-set-up-properly-you-may-need-to-confirm-t~> Xcode 8This problem occu
2016-09-15 13:16:03
3804
原创 备忘
dBm = 10 * log10( (mag * mag ) *2 / n /50 ) + 30;dBu = dBm+107;uV = 10^(dBu/20) = pow(10,dBu/20);
2016-09-11 11:19:14
451
原创 QGraphicsView 框架学习(六) 设计问题
书到用时方恨少啊,遇到一个设计问题,为了给QGraphicsItem添加一些特性,比如给它们添加一个选择框,提供resize操作,前面用的方法是子类化这个类,现在发现这个方法挺麻烦的。赶快翻书,《设计模式》给出了Adapter等结构模式,《设计模式新思维》给出了模板实现设计模式的方法,目前的问题是尽量利用Qt提供的现成的类,尽量复用现有的工具,那么就 Adapter+template吧。可是问题又来
2015-07-06 17:46:29
2290
原创 QGraphicsView 框架学习(五) 边框与控制点。
选择控制以前已经实现了,为矩形对象默认添加了8个控制点,可以通过鼠标移动控制点,调整图形的大小。多边形,直线,曲线等没有提供这8个控制点,而是直接将每个输入点当做控制点,实际上也应该给它加一个边框。 这两天看了一下著名的inkspace,它提供了一个SelTrans对象来对图元进行缩放,拉伸,旋转,扭曲等操作;还提供了 control_point对象,来控制图元path,改变图元形态
2015-07-05 14:43:04
2952
原创 QGraphicsView 框架学习(四),Undo Redo
撤销,重做,任何编辑器的必备工具。还是Qt的提供的标准解决方案。QUndoCommand;QUndoStack;QUndoView;图形编辑的每一个动作都应该有相应的撤销和重做机制。我们为每个动作派生一个对象。Qt demo里提供了两个例子,一个是使用QGraphic是View图形框架的,一个是Qt自己写的一个简单的图形编辑器。这两个都可以参考。这里简单的描述一下我自己抄来的。
2015-07-05 12:50:58
2178
原创 QGraphicsView 框架学习(三),图形对象的剪贴板操作。
图形编辑必备功能,剪贴板。Qt本身提供 QClipboard 对象,它使用也很方便,有轮子就不用自己造轮子,不说废话,我们需要利用QMimeData对象来存储我们的图形元素,所以我们要声明一个QMimeData的派生类。
2015-07-05 12:14:26
2738
1
原创 QGraphicsView 框架学习(二),组合与撤销组合
QGraphicsItemGroup 是Qt二维图形框架提供的对图元进行组合操作的类。它提供了了void addToGroup(QGraphicsItem * item) 和 void removeFromGroup(QGraphicsItem *);两个方法。实际使用中可以通过 scene的createItemGroup()方法来创建组合对象,通过destroyItemGroup方法撤销组合。看
2015-07-05 09:22:31
5132
1
原创 QGraphicsView 框架学习(一)、图形元素的编辑
一、给图形对象加控制点,用户通过鼠标来操作控制点来编辑图形,参考MFC drawcli的实现。很多人通过QGraphicsItem的派生类,然后重载几个函数来处理鼠标消息: void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent) Q_DECL_OVERRIDE; void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent) Q_DECL_OVERRIDE; void
2015-06-21 21:19:29
11103
5
原创 QtPropertyBrowser 下载地址
svn checkout https://github.com/commontk/QtPropertyBrowser/trunk QtPropertyBrowser刚抓下来,还没试,做个标记备忘。
2015-06-14 20:42:46
1890
转载 VC.NET中的事件响应
在Java和C#中都有事件的概念,可以比较方便的实现消息响应。在C++中要实现消息响应,都是通过回调函数实现。如果某个事件有多个处理函数的话,就需要手动维护一个回调函数列表。Visual C++ .Net 中增加了事件处理机制,称为统一事件模型(Unified Event Model ),可以非常方便地实现消息响应,MSDN中对这个专题有专门的介绍:Event Handling in Visual
2006-05-11 16:47:00
1550
转载 MinGW相关概念
srcString = contentarea.value; srcString = ubbReplace(srcString, all); document.write(srcString); srcString = signaturearea.value; showSign(srcString); Mi
2006-04-11 23:59:00
1734
2
原创 MSDN处理异常的例子
/ srcString = contentarea.value; srcString = ubbReplace(srcString, all); document.write(srcString); srcString = signaturearea.value;
2006-04-11 23:56:00
1110
转载 关于名字空间namespace
srcString = contentarea.value; srcString = ubbReplace(srcString, all); document.write(srcString); srcString = signaturearea.value; showSign(srcString); na
2006-04-11 23:54:00
1122
转载 关于far*指针
srcString = contentarea.value; srcString = ubbReplace(srcString, all); document.write(srcString); srcString = signaturearea.value; showSign(srcString); FA
2006-04-11 23:53:00
1515
原创 #if 0 #endif的含义
srcString = contentarea.value; srcString = ubbReplace(srcString, all); document.write(srcString); srcString = signaturearea.value; showSign(srcString); #i
2006-04-11 23:52:00
2079
原创 关于类型转换
遇到这样一段代码: const char *fun() {return 1;} operator const char *() { return fun(); } 一种方法是: class Test { public: operator const char*() { return (const char*)1; } }; int _tmain(int argc, _TCHAR* argv[])
2006-04-11 23:51:00
1022
转载 C++类型转换操作符(cast operator)
dynamic_cast 用以转换多态类型(polymorphic type).建立运行时检查将保证转换的有效性。如果该转换不是安全的,则抛出一个bad_cast异常。 static_cast 用以转换非多态类型。没有运行时检查。 const_cast 用以除去一个对象的常态(constness)和易失态(volatileness). reinterpret_cast 用以
2006-04-11 23:49:00
2130
转载 解析#pragma指令
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用的参数。
2006-04-11 23:48:00
991
原创 定义const 型指针
有三种方法来定义const 型指针: (1)const *; 该语句的作用是:定义指针变量所指数据值为常量,即:指针变量所指数据值不能改变,但指针变量值可以改变。例如: float x,y; const float *p=&x; //定义指针变量p所指数据值*p为常量 *p=25; //错误,p所指变量x数据值不能用*p形式进行改变 p=&y; //正确,可改指针变量
2006-04-11 23:45:00
1435
原创 组件属性输入和显示演示代码
srcString = contentarea.value; srcString = ubbReplace(srcString, all); document.write(srcString); srcString = signaturearea.value; showSign(srcString);
2006-04-11 23:43:00
924
原创 怎么避免ACTIVEX工程和DSHOW类库冲突
前段时间像把DSHOW工程移动到控件上,建立了MFC ACTIVEX工程,包含了STRMBASD.LIB编译后发现类工厂找不到。原来需要以下代码: //extern "C"STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv){ AFX_MANAGE_STATE(AfxGetStaticModuleState());
2006-04-11 23:38:00
1203
原创 网页录像控件的制作(VFW)
本例子实现MFC ACTIVEX录像控件 制作步骤 首先,建立MFC ACTIVEX 工程,然后在OnCreate函数中动态添加对话框资源 int CMYSoftRecordCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (COleControl::OnCreate(lpCreateStruct) == -1) return -1; // T
2006-04-11 23:26:00
1637
1
原创 BMP to AVI 及其压缩的实现
srcString = contentarea.value; srcString = ubbReplace(srcString, all); document.write(srcString); srcString = signaturearea.value; showSign(srcString); 1.
2006-04-11 23:23:00
3640
2
原创 WinXP下编译ffmpeg
今天开始编译ffmpeg这个让人爱恨交加的东西了。由于VC++并非是一个标准的C编译器,所以ffmpeg使用的C99以及at&t汇编语法在VC下无法编译通过,我曾经从ffmpeg中提取过h263++的编码器,在不使用mmx优化选项的情况下,对C代码进行少许的改动还是能够编译通过和正常使用的,但是没有MMX优化的东西使用起来还是不爽的。 采用MINGW在window平台下编译f
2005-12-22 02:35:00
7601
4
原创 ffmpeg你让我拿什么爱你?
记得半年前为了找一个h263的解码器,我第一次听说ffmpeg库,为了从中分离出我需要的东西,我整整一个晚上都没休息。我真的不明白,写这些代码的人是懒惰还是怕别人用不到他们的代码,都一股脑的把代码掺和到一起,也许其中的高明之处我这样的平庸之辈是无法理解的,不过你们自己不觉得很烦么?随便改动个地方都可能引起巨大的变化。没办法,今天不得不再一次面对你。因为我实在是找不到比你更可爱的东
2005-12-19 23:38:00
1361
1
MacOX下ARM交叉编译工具链arm-linux-gnueabihf
2018-03-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人