- 博客(12)
- 收藏
- 关注
原创 linux下编译多个文件
例如:/home/files文件夹下有文件main.c:#include #include "tou.h"void main(){ a();} /home/files/common文件夹下有文件tou.h和shixian.c。tou.h为:extern void a(); 若有多个shixian文件,比如shixian1.c, shixian2
2009-09-25 21:34:00 654
原创 内存对齐问题
详细描述:http://www.yuanma.org/data/2006/0723/article_1213.htm Cell BE架构下在DMA传输时必须手动内存对齐,否则会出现“总线错误”,但其他时候一般不需要。为什么呢?是编译器给对齐了么?那DMA传输时编译器为什么不给对齐了呢?
2009-09-23 23:02:00 616
原创 总线错误和段错误原因
总线错误引起原因: 几乎总是由于对未对齐的读或写引起的。它之所以称为总线错误是因为对未对齐的内存访问时,被阻塞的组件就是地址总线。 段错误引起原因:引起直接原因:(1)解除引用一个包含非法值的指针。(2)解除引用一个空指针(常常是从系统返回,却未经过检查)。(3)未得到正确权限进行访问。如:向只读文本段存储值就回引起段错误。(4)用完了堆栈或堆空间。 出现频率
2009-09-23 22:27:00 2540
原创 构造函数参数是引用类型原因
拷贝构造函数之所以引用,是因为如果传值的话会有一层隐式的拷贝。拷贝构造函数参数是不能传值的,只能传引用。可以这样理解:1.传引用效率高 2.当一个类的对象作为参数时,会调用拷贝构造函数。此时正是在定义拷贝构造函数本身,如果其参数是对象而不是对象的引用,那么拷贝构造函数就是调用它本身,而它本身却还没有定义。对象作为函数参数时,会自动调用拷贝构造函数。假如对象作为拷贝构造函数的参数时,也要
2009-09-23 22:16:00 1112
原创 运算符重载在vc6.0中的bug
运算符重载在vc6.0中存在bug。以下两段代码实现的功能相同,写法和相应的头文件却不同。 代码1:#include //必须用这个,否则编译通不过//using namespace std;class complex{private: int real,imag;public: complex(int a=0,int b=0) {
2009-09-23 21:23:00 1021
原创 ppu与spu之间的邮箱通信
ppu端程序: #include #include #include #define N 1 extern spe_program_handle_t signal; void *my_spe_thread(void *arg) { unsigned int entry = SPE_DEFA
2009-09-21 17:02:00 1156
原创 从ppu端向spu端发送信号的小程序
ppu端代码ppu.c: #include #include #include #define N 1 extern spe_program_handle_t signal; void *my_spe_thread(void *arg) { unsigned int entry = SPE
2009-09-20 15:58:00 1091
原创 多个spu文件写法
ppu端程序ppu.c: #include #include #include #define N 2 extern spe_program_handle_t hello1, hello2; void *my_spe_thread(void *arg) { unsigned int ent
2009-09-19 23:13:00 924
原创 DMA传输小程序,解决“总线错误”
这个程序实现的是:共享内存中的一组数据,部分被用DMA传输到LS中进行加1操作,最后再将结果用DMA传到共享内存。 spu端程序single_buffer.c: #include #include unsigned int spe_src_buf[10] __attribute__ ((aligned(128))); unsigned i
2009-09-19 22:49:00 1165
原创 在多个spu上运行hello成功了,段错误问题顺利解决
昨天利用Cell的SDK写的一个小的多线程程序在编译时成功了,但运行时却出现了“段错误”。段错误就是出现在运行时的,看不出来错误原因,所以只能在程序中加调试语句一点一点调,如果gdb用得好的话,可能更方便。 下面是我的调试代码: #include #include #include #define N 4 extern
2009-09-19 12:49:00 916
原创 利用Cell BE的SDK写小程序
1、在任意目录下新建文件夹hello,在此文件夹下建立ppu.c、Makefile文件和文件夹spu。此文件夹下的Makefile: DIR := spu PROGRAM_ppu := ppu IMPORTS = spu/lib_hello.a -lspe2 -lpthread INSTALL_DIR = $(SDKBIN)/hellos INST
2009-09-18 22:45:00 829
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人