i***h 发帖数: 12655 | 1 突然想到这个(也许是个很蠢的问题,砖头轻拍)
下面的程序:
class myClassA {...}
vector a;
myClassA是我自己定义的一个类, compile时应该单独生成vector这个特例,
那么编译时要有template vector的 definition, 而不仅仅是 declaration,
对吧?
也就是说, 光有library提供的header file interface是不够的?
糊涂了 |
|
i***h 发帖数: 12655 | 2 那么是不是implementation里保证只有 T 的指针或reference?
否则每次连implementation也要重编译 |
|
d***x 发帖数: 4 | 3
section
是的,__devinit 只标识了section
这么说driver里去掉__devinit没问题了?
另外kernel和driver版本冲突会不会在编译后insmod时才会体现出来呢?谢谢
include/linux/init.h
/* Used for HOTPLUG */
#define __devinit __section(.devinit.text) __cold |
|
T*****9 发帖数: 2484 | 4 【 以下文字转载自 CS 讨论区 】
发信人: Tevez99 (Fresh CS master looking for a job), 信区: CS
标 题: 版上有做编译的大牛么?问个问题
发信站: BBS 未名空间站 (Mon Sep 22 21:33:25 2008), 站内
判定特定文法是否具有二义性,除了采用两种生成树的办法之外,还有别的办法么?谢
谢啊 |
|
T*****9 发帖数: 2484 | 5 编译老师的作业,上次作业要求写两种,大家都只写出了语法树那种,丫发飙了,要求
回家作业写第二种。。。实在没办法了上来问题。。。 |
|
e*****r 发帖数: 379 | 6 那怎么办?我把我的assembly搞成不能被反编译,是不是没有人特意去查?即使查出来
,我只是用了其中一部分,他们也没法完全证明我就是直接拷贝他们的吧? |
|
y****i 发帖数: 57 | 7 问个弱的问题:能不能开发两种C++的compiler,一种是编译型的,一种是解释型的
这样,解释型的compiler可以用来开发算法用,像Matlab那样。 |
|
|
n*c 发帖数: 228 | 9 interface Iface
{
void do();
};
class MyFace:Iface
{
void do;
void i;
};
MyFace mf;
编译器把mf 编译成机器码以后,Iface的部分在哪里?还是Iface的machine code被放
在某处,mf里只有一个pointer 指向那个地方。
如果
abstract class Aface;
clas YourFace:Aface;
YourFace yf;
yf的machinecode里边应该有一块是Aface的内容,对吧。 |
|
r*********r 发帖数: 3195 | 10 举个不相关的例子. 老版本的 gcc 是不把 .bss 段里的东西清零的, 好像 3.x 以后就
自动清零了.
所以加了一个优化项 -fno-zero-initialized-in-bss. 用和不用这个优化项显然结果
不同.
gcc 刚升级时, 有些kernel code因为这个东西编译不过去. |
|
b***y 发帖数: 2799 | 11 ☆─────────────────────────────────────☆
wmbyhh (wmbyhh) 于 (Sun Jul 6 20:08:03 2008) 提到:
还是以前写的代码,报错stack overflow。
如果去掉里面所有unsigned int为int,define RANGE, N为较小的数如1000,那么编译
就可以正常通过。但是为何不支持unsigned很大的数呢
#include
#include "HeapSort.h"
#include "SelectionSort.h"
#include
#include
#include
#include "MersenneTwister.h"
#define RANGE 1000000 //define the range of input data
#define N 10000000 //define how many random numbers to
generate |
|
c**a 发帖数: 316 | 12 下面代码编译时,提示说, std::vector::const_iterator Not a type
非常奇怪。。。
#include
#include
template
class MaxHeap
{
public:
typedef std::vector::const_iterator const_iterator;
MaxHeap(size_t n){v(n); size = 0;};
MaxHeap(const_iterator b,const_iterator e){v(b,e);size = e-b;
BuildHeap();};
MaxHeap(T c,size_t n){v(c,n);size = n};
MaxHeap(const MaxHeap& h){v = h.v; size = h.size;};
|
|
b***n 发帖数: 29 | 13 在linux上,看到用户程序运行的同时,用户可以编辑自己的C/C++ 代码,然后点击按钮
编译链接,接着就可以调用用户编辑的代码。
在这个过程中,用户程序不用退出。也就是说所有的操作都是在该程序运行时完成。很
有意思,这个是怎么做到的? |
|
|
b***n 发帖数: 29 | 15 这个script基本上已经差不多C++了,可以支持很多特性。
基本上我认为是运行时编译的。 |
|
b***y 发帖数: 2799 | 16 ☆─────────────────────────────────────☆
aZhu (a+zhu) 于 (Mon Oct 10 11:50:07 2005) 提到:
发信人: illinois (伊利诺斯), 信区: Java
标 题: 再请教一个 编译错误
发信站: BBS 未名空间站 (Mon Oct 10 06:04:30 2005), 转信
E:\tools\JPad Pro\MyProjects\gcdTester.java:15: '(' or '[' expected
ArrayList gcdList = new ArrayList();
^
1 error
Finished
这个那里不对呀?
☆─────────────────────────────────────☆
goyacc (ken) 于 (Mon Oct 10 15:12:30 20 |
|
d*****l 发帖数: 8441 | 17 多谢。费了半天劲,现在编译基本搞定了,正在测程序的行为。
不过有一个结果文件格式的问题估计是解决不了了。
用户要用该程序将所生成的结果图表和曲线直接通过Java的Serializable接口
以相应对象的二进制内存映像存成结果文件--当时实现起来是挺方便的,无需
自定义文件格式。可是现在到好了,由于在新版本的JFreeChart中,那些Curve等
Object的结构本身都有可能被重新定义过了,目前发现用新版的程序不能识别老版
程序所生成的结果文件了。这可该咋办哪! |
|
F*****n 发帖数: 1552 | 18 来自主题: Programming版 - 关于反编译 哦,不好意思啊。搞错了。我还以为/cli是c++编译时候的一个选项。 |
|
s****n 发帖数: 700 | 19 我有现成的一套c程序
现在想加一部分新的code, 我想借用C++里的container还有别的一些函数。
我可以直接添加C++的code在原先程序,并且用g++编译么。
非常感谢
。 |
|
|
w***g 发帖数: 5958 | 21 我也没编几行程序,编译出来的程序一个个都在十七八兆以上。拿出去给别人看分量倒
挺足的。只是链接速度实在太慢了。
不知道版上有没有什么好的办法能提高链接速度。 |
|
p******m 发帖数: 353 | 22 请问有没有人用过OpenMP?
能编译产生DLL吗? 被调用的DLL还有并行功能吗? |
|
p******m 发帖数: 353 | 23 我尝试用intel 9 编译器在vc 6.0的环境里编译openmp, 但其中一个线程老是被重复
执行, 不知道为什么? 有谁遇到过类似的问题吗? |
|
|
g****y 发帖数: 436 | 25 一个cpp文件的头部:
#include "BEDFileData.h"
#include
using namespace std;
using namespace affxbed;
#pragma warning(disable: 4996)
然后中间有用到 strlen之类的函数,比如:
void BEDFileData::FormatTrack(const char *name, const char *desc)
{
char line[256];
if (desc && strlen(desc) > 0)
sprintf(line, "%s\"%s\" description=\"%s\"", TRACK_LINE_
START, name, desc)
;
else
sprintf(line, "%s\"%s\"", TRACK_LINE_START, name);
track=line;
}
编译的时候,报错说:
error: |
|
s*******e 发帖数: 664 | 26 ☆─────────────────────────────────────☆
petersam (google) 于 (Fri Oct 2 16:06:00 2009, 美东) 提到:
我尝试用intel 9 编译器在vc 6.0的环境里编译openmp, 但其中一个线程老是被重复
执行, 不知道为什么? 有谁遇到过类似的问题吗?
☆─────────────────────────────────────☆
petersam (google) 于 (Fri Oct 2 16:36:24 2009, 美东) 提到:
以下是我的测试代码:
#include "stdio.h"
#include "omp.h"
int main(){
int i;
omp_set_num_threads(2);
#pragma omp parallel for
for(i = 0; i < 6; i++ )
printf("i = %d\n", i);
return 0;
}
☆───────────────────────────────────── |
|
r******9 发帖数: 129 | 27 在linux下g++ 编译通过
运行时出现
error while loading shared libraries: libboost_regex.so.1.42.0: cannot
open shared object file: No such file or directory
可是我这个文件的路径明明就在 makefile的-I 里面啊, 有谁知道是怎么回事?
谢谢 |
|
s******e 发帖数: 431 | 28 你试试右键单击文件,然后可能有个条件编译的选项。基本上就是用宏在project文件
里选择性的使用文件。
resource是肯定可以的,这个不是很确定。 |
|
y****e 发帖数: 23939 | 29 我的程序用到了openGL 1.3的几个函数,比如glLoadTransposeMatrix。这些函数声明
在glext.h里面。编译的时候没问题,但连接的时候出错:
error LNK2019: unresolved external symbol _glLoadTransposeMatrixf@4
referenced in function ....
我运行了glewinfo,显示可以支持到GL_VERSION_2_1。而这些函数是GL1.3里面的,按
理说应该没有问题啊。望不吝赐教,万分感激。 |
|
y*******u 发帖数: 3 | 30 手上有一段很老的BASIC代码。不知道现在有什么编译器可以直接编译它。 |
|
g*********n 发帖数: 808 | 31 请推荐一款windows xp 平台上优秀的C语言 (不要求C++)编译/编辑器,
最好支持C99, 关键是可靠, 易用, 简洁, 免费
谢谢了 |
|
y****e 发帖数: 23939 | 32 有几个函数象glDeleteBuffers, glGenBuffers在glext.h中declare,但编译时链接出
错:LNK2019。请不吝赐教。 |
|
a9 发帖数: 21638 | 33 现在就是这样啊。
libstdc++.so.6 -> libstdc++.so.6.0.0
libstdc++.so -> libstdc++.so.6.0.0
但编译后依赖的是libstdc++.so.6
我想让它依赖 libstdc++.so.6.0.9 |
|
e*****r 发帖数: 144 | 34 不是说不可以 return a reference to a local variable?
但是编译没有任何错误.
int& New()
{
int newInt = 777;
int& returnref= newInt;
return returnref;
} |
|
d******i 发帖数: 7160 | 35 自搞了一下assignment constructor,能编译过了
B& operator=(const B& b0){memcpy(this,&b0,sizeof(B));return *this;}
可是感觉怪怪的。
本来编译器不给你default产生这个赋值构造函数,就是认为里面的引用不该被改变。现
在可好,还是生给变了。这时编译器咋不说话了?
还是tnd这个vc6太弱了?
BTW,workplace的choice,不由我选的。 |
|
t****t 发帖数: 6806 | 36 要是他能用make相关的工具编译, 估计就不会有这样的问题了....
file |
|
t****t 发帖数: 6806 | 37 直接下4.8.1的tgz不行吗?编译一下很快的. |
|
x****u 发帖数: 44466 | 38 从官网下源码属于xx网友吧,直接下个dist的源研究编译脚本才是。 |
|
|
t****t 发帖数: 6806 | 40 如果是硬盘慢的话, 你不如弄点大内存. 如果就是编译本身慢, 那你需要更多的CPU.
换SSD的帮助不大.
另外对于C++, 我觉得源代码的decoupling很重要... |
|
l**********g 发帖数: 503 | 41 你有用multiple processes编译? |
|
N******K 发帖数: 10202 | 42 没注意这个 不过编译的时候 所有的core都在忙 |
|
m*******l 发帖数: 12782 | 43 SSD还是有帮助的,我现在2个SSD,一个系统,一个源代码编译内存反儿只有16G
用SSD, 大约提高速度 10-30%的样子 |
|
|
s******3 发帖数: 61 | 45 更值得上哪一个?
本人是转行的
感觉编译原理是学计算机的必修课,但对于转行的学生就想找个工作的话是不是用处不
大?而且应该难度更高一些吧?
谢谢指教! |
|
S*A 发帖数: 7142 | 46 编译原理对理解计算机语言,特别是 C 这样的语言有点
帮助。前端写 parser 那些其实挺无聊的,后端写优化
和计算机指令翻译才开始比较难起来。一般不是很深
入使用的话,就是使用计算机语言用处不大。 |
|
z****e 发帖数: 54598 | 47 当然是分布式系统
你现在还搞编译原理
你脑子进水了么?
没有人关心你懂不懂,很多面你的人自己都不懂
就算学了,也忘得差不多了
找工作也好,就业前景也好,还是研究兴趣热点,都是分布式
这个如果将来你认为我说错了,欢迎你回头来骂我 |
|
s*****h 发帖数: 155 | 48 当然分布式
转行学什么编译啊.. 先找到工作再说 |
|
p******e 发帖数: 528 | 49 我在一个i7 3930k的机器上编译一个mpi的C程序,然后向拿到
xeon W3680上去运行。请问这样会有问题吗?两边的操作系统
都是ubuntu。 |
|
|