![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译原理
小c轩令
这个作者很懒,什么都没留下…
展开
-
linux C下struct定义类的error:“unknown type name"
今天本来已经把其他输出输入输出的地方调通了,但是遇到了这个问题,无论我这个定义的struct是在.c文件的上面,或者是被包含的.h文件中,都显示error:“unknown type name"struct _ksw_data{ int * qlen; uint8_t *query; int * tlen; uint8_t * target; int m; int8_t *mat;...原创 2018-12-24 12:01:21 · 41778 阅读 · 3 评论 -
window/linux程序编译小结
一.window:1.编译:源文件.c->汇编代码.s->机器代码.o文件2.链接:静态链接库:o文件中可能会需要用到外部函数,我们通过链接.lib文件,将lib文件中的外部库函数粘贴到.o文件的指定位置。动态链接库.dll:.dll与静态库类似,但是是在程序运行过程中进行链接。3.连接完了就可以完成运行。二.linux:1.预编译:生成源文件.c->预编译代码....原创 2019-09-05 21:43:13 · 186 阅读 · 0 评论 -
vs2015编译x64的zlib源文件
win10系统,安装了visual studio 2015,在代码中用到了zlib库,之前很容易地配好了x86的链接文件,现在想配一个x64的,但是方法有点差异遇到了一些问题。感谢https://www.cnblogs.com/MrOuqs/p/5751485.html这位博主,解决了我的问题,在这儿我总结一下。几乎所有方式,x64的编译都会有点坑,鉴于网上的x86编译方式非常的多,所以不再累...原创 2019-06-23 17:27:54 · 1127 阅读 · 0 评论 -
nsight无法在断点处中断//start CUDA debugging出错
工作环境:显卡:MX250(帕斯卡架构)cuda版本:9.2显卡驱动:417.59vs版本:vs2015问题描述:最近出差想用笔记本跑一下cuda代码(为了这个目的特地买的装着mx250的超极本),然后在程序跑通的情况下发生了调试不了的问题。自己初始化的和函数跑start CUDA debugging的话根本不会跑kernel中的代码,自己跳出。解决思路:之前的解决办法有两个:1...原创 2019-06-21 17:36:13 · 875 阅读 · 1 评论 -
我的研发面经_程序内存结构分析②C++
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。这里有个问题:为什么没有了bss、data和代码区?反而多了自由存储区、全局/静态存储区、常量存储区。目前可以理解为是C++和C的区别。栈。就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配...原创 2019-06-16 00:47:34 · 159 阅读 · 0 评论 -
我的研发面经_ELF文件结构小结
Linux共享库、静态库、动态库详解介绍使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。程序函数库可以使整个程序更加模块化,更容易重新编译,而且更方便升级。程序函数库可分为3种类型:静态函数库(static libraries)、共享函数库(shared li...原创 2019-06-15 23:11:22 · 230 阅读 · 0 评论 -
我的研发面经_程序内存结构分析①C语言
1原创 2019-06-15 15:50:23 · 484 阅读 · 0 评论 -
显卡驱动版本号与cuda版本的匹配关系
做一个笔记,防止经常找不到。转载 2019-06-18 22:28:35 · 8687 阅读 · 1 评论 -
记录:invalid next size (normal)问题的解决
最后调试程序的时候,已经能跑出正确结果,但是还是报这个错后来参考了这个网站:https://blog.csdn.net/mociml/article/details/6286311得知是内存泄露的问题。情况有这三种:(1)free了没有分配的内存(2)还有就是分配了内存忘记释放也有可能会出现这样的问题。(3)最后查出来是数组循环的时候越界了 , 写到了其他的内存里面, 然后一free那个...原创 2018-12-24 12:18:58 · 21500 阅读 · 0 评论 -
并行软件设计
并行软件在运行共享内存系统时,会启动一个单独的进程,然后派生(fork)出多个线程,所以当我们谈论共享内存程序时,我们指的是正在执行任务的线程。需要在进程、线程之间平均分配的任务从而满足使得每个进程/线程获得大致相等的工作量称为负载均衡(load balancing)。将串行程序或者算法转换为并行程序的过程称为并行化(parallelization)我们需要协调进程/线程之间的工作,这些进...原创 2019-09-30 14:02:16 · 389 阅读 · 0 评论