由买买提看人间百态

topics

全部话题 - 话题: 函数库
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
E********r
发帖数: 99
1
来自主题: Computation版 - 请问谁用过NURBS++这个函数库?
请问谁用过NURBS++这个函数库?
有源代码,但是不知道该如何编译。
(在WINDOWS 2000下用VC6)
哪位大牛谈谈?谢谢。
b******n
发帖数: 592
2
来自主题: Programming版 - 程序库问题
假如有程序库A, B, C, B调用A. C调用B和A, 怎么样才能有效管理三个库的版本? 如果
提供给客户,是不是应该用一个大函数库把ABC都包括?
v*****u
发帖数: 1796
3
来自主题: Programming版 - C下有没有好用的hash table函数库?
这个函数会用到OS Specific的东西?
t****t
发帖数: 6806
4
来自主题: Programming版 - 问一个函数对象问题
你自己当然可以这么写了, 但是写函数库的人要考虑的东西当然比较多
a****a
发帖数: 5763
5
随着CPU与GPU合并成技术发展的趋势,苹果开发出了OpenCL框架,能够进行高速并行处
理的能力使OpenCL成为了业界标准,被广泛应用。
最近几年,GPU的发展吸引了很多来自科学计算界人士的目光。GPU有稳定的市场推动力
—公众喜闻乐见的电子游戏产生了源源不断的升级GPU的需求—因此比CPU的更新步伐更
快。从技术上讲,GPU本身就是多核架构,高端显卡往往有五百多个核心,即使低端的
集成GPU也有二三十个核心,所以能够通过并行来高效处理成千上万的线程。同时,对
于科学技算中的浮点计算,GPU往往通过硬件加速使其效率比传统CPU更高,因为图形渲
染等工作基本都是浮点计算。
GPGPU浮出水面
早期的GPU只能执行固定的程序,而不开放给程序员编程。随着时代的发展,图像处理
有时需要对着色器进行编程以实现一些特效,因此需要程序员可以使用GPU的汇编语言
写简单的着色程序。这自然对程序员要求过高,所以一些高阶的着色语言又被GPU厂商
开发出来。比如微软和NVIDIA共同开发的Cg语言,就能为顶点和像素编写专门的着色程
序。这类技术虽然面向图形渲染工作者,却吸引了一小簇科学计算研究者的兴趣。... 阅读全帖

发帖数: 1
6
来自主题: Military版 - 半导体这种材料只能两种状态吗

=====================
C++ 工程实践(4):二进制兼容性
原创 2011年03月09日 10:46:00 标签:c++ /library /interface /mfc /class /编译
器 22578
陈硕 (giantchen_AT_gmail)
Blog.csdn.net/Solstice
本文主要讨论 Linux x86/x86-64 平台,偶尔会举 Windows 作为反面教材。
C/C++ 的二进制兼容性 (binary compatibility) 有多重含义,本文主要在“头文件和
库文件分别升级,可执行文件是否受影响”这个意义下讨论,我称之为 library (主
要是 shared library,即动态链接库)的 ABI (application binary interface)。至
于编译器与操作系统的 ABI 留给下一篇谈 C++ 标准与实践的文章。
什么是二进制兼容性
在解释这个定义之前,先看看 Unix/C 语言的一个历史问题:open() 的 flags 参数的
取值。open(2) 函数的原型是
int open(cons... 阅读全帖
t******n
发帖数: 2939
7
☆─────────────────────────────────────☆
l63 (l63) 于 (Thu May 23 00:34:22 2013, 美东) 提到:
假设素数只有有限个, 记为 p_1,p_2,...,p_k
考察 N = p_1*p_2*...*p_k + 1
可知: 对于任意i = 1,2,3,...,k, p_i 不能整除 N
由素数的定义:
a是素数 <=> a是大于1的自然数, 且a不被任何小于a的素数整除
可知: N是素数
这与素数只有p_1,p_2,...,p_k矛盾.
故假设不成立.
所以素数有无穷多个.
☆─────────────────────────────────────☆
l63 (l63) 于 (Thu May 23 00:37:03 2013, 美东) 提到:
在承认素数的这个等价定义 (即 a是素数 <=> a是大于1的自然数, 且a不被任何小于a
的素数整除) 的前提下, 居然有人会认为这个证明是错的, 或者是不完备的.
我实在不能理解.
求问一下大家, 是不是有的人的脑子天生有缺陷, 根本怎么教都不会明白... 阅读全帖
a****a
发帖数: 5763
8
经过6年时间,4个发行版,苹果终于完成了向64位的迁移,并随着Snow Leopard的发布
推出了解决并行编程问题的Grand Central Dispatch(简称GCD)技术,释放了多核系
统的潜力。
和10.5一样,在10.6 Snow Leopard中,苹果继续利用64位的迁移砍掉了诸多老技术,
很多新技术仅以64位的模式被支持。例如重写的QuickTime X框架,虽然QuickTime X应
用程序以32位和64位的模式发布,但其API仅暴露给64位。另一个例子是Objective-C 2
.1的运行库,快速Vtable调度,新的和C++统一的异常处理模型,以及彻底解决对象的
FBI问题等,都仅限64位程序使用。
内核的64位化
读者应该发现,经过这4个发行版,Mac OS X自下而上地对整个系统向64位迁移。10.3
内核空间提供了64位整数运算的支持。10.4允许程序以64位模式运行在用户空间,并且
提供了64位的libSystem使得开发者可以开发64位的Unix程序,而10.5中系统所有未废
弃的函数库、框架都提供64位版本,到了10.6,所有用户空间的程序,包括... 阅读全帖
v*********o
发帖数: 5
9
来自主题: Programming版 - 除了类,c++和C区别在那?
C++是C的超集,也可以说C是C++的子集。
C++增加了C不具有的关键字。这些关键字能作为函数和变量的标识符在C程序中使用,尽
管C++包含了所有的C,但显然没有任何C++编译器能编译这样的C程序。
C程序员可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写
出来。而C++可以使用空参数列表。
C++中new和delete是对内存分配的运算符,取代了C中的malloc和free。
标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数。
C++中还增加了bool型变量和wchar_t型变量
C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。
C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。
在C语言中,输入输出是使用语句scanf()和printf()来实现的,而C++中是使用类来实现
的。
c++中引入了安全的类型转换机制
C++函数的原型中可以声明一个或多个带有默认值的参数。如果调用函数时,省略了相应
的实际参数,那么编译
d*******r
发帖数: 3299
10
作者:Jim Liu
链接:https://www.zhihu.com/question/63726609/answer/212357616
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Redux是基于纯函数的,为了保证它的“纯度”,它的reducer函数必须是严格的 S' =
f(S) 的形态,所以,与其说Redux是“状态管理”库,不如说它是“状态转移管理”库
,因为Redux是无状态的,状态是在你的程序里的,你自己维持状态,它只是给你提供
了一个状态转移的统一方式。这使得它的整个模型看起来是非常干净。
而事实上我们在开发实际项目当中可能有小半(maybe大半)的reducer场景其实应该是
S' = await fAsync(S) 的形态,比方说,我点了一个计数器+1的按钮,在一个美丽的
DEMO里,它就+1了,但放到生产需求里,很可能是要先发起一个Ajax请求,请求OK了再
+1,甚至这时候不是+1,而是直接和服务端同步一个新的值。
但异步的reducer就破坏了它的“纯度”,因为异步是不确定的,先发不一定先至,这
会破坏reducer的“... 阅读全帖
h*i
发帖数: 3446
11
1. 先设好Clojure的编程环境。编辑器(emacs, vim用fireplace)或者IDE(IntelliJ
用cursive, Eclipse用CCW, 还有lighttable)啥的,根据自己的喜好设置好,必要的
LISP插件装好,比如paredit,rainbow啥的,不要闹“数括号”的笑话。最终目的是在
这个环境里能方便地(一个快捷键)用REPL跑代码。Clojure程序是从下到上,一个小
函数一个小函数的来码出来的。
2. 我个人觉得刷4clojure是必须的。自己作完了一个题,再看看高手的代码(跟几个
高手就行了),可以提高很快。等核心的函数基本上记住了(大概作了一百道题之后吧
),也就差不多了。然后就看你想干什么了,上手做项目就行了。
3. 做项目要学会用lein。读lein的example project.clj很有用。
Clojure是反框架的,所以不要期望有什么大而全的框架可以学,都是各种各样的小库
,需要的时候github上找。一般常用功能都能找到几个库,根据自己的喜好和库的情况
选一个,比如github一年都没更新过的库,那就算了。
w*********g
发帖数: 30882
12
这两年,兔子的国家重器和高端武器层出不穷。
俺的巴掌红得都要拍不动。
裤衩已成灰。
当然还有好多小兔子半信半疑。
过年时太忙,都没空,现在总算好点。
俺现在心情不错,就给大家818,为什么兔子这些年,这么牛逼,发展速度这么快。
当然,俺说的是军工和科研系统方面。
长期更新啊。大家慢慢看。
亲身经历,绝对原创。
为什么,兔子家的进步神速?
兔子家,是真正把霉菌在IT最高端的仿真模拟,和毛熊强大的系统分析设计以及体
系对抗思想,给结合起来了。
兔子家,正是靠了计算机仿真和模拟,所以节省了大量的实物实验,节省了成本,
提高了速度。
这,就是后发的巨大优势。这个优势,是上世纪90年代后期,尤其是2000年之后,
PC以及各种高端工具软件普及之后(UG,CATIA,ANSYS,Fluent……),才具有的优势。
有人问,为什么美帝善于仿真模拟,毛熊善于系统分析设计,体系对抗到底是啥玩
意?
这个,算是问道点子上了。
这个话题很大,俺只能简单滴回答,另外讲讲俺的亲身经历。
这个要从二战说起,霉菌,继承的是德国的思想,高大上的武器,高素质军人,高
超地战术思想和能力,类似狼或者鹰。
毛熊,则是完全不... 阅读全帖
f**k
发帖数: 906
13
来自主题: BuildingWeb版 - 彻底转投.net了
很多大公司都是用php
Facebook
Wikipedia
Yahoo
Photobucket
Digg
facebook 用hippop编译成机器码。
如果只是比较语言做同样函数,比如数据计算,3d模型的话,显然是C, C++最快,Java
,.net都还不错。php,ruby,python等等需要解析的就慢很多。
但是考虑到整个web框架,他们要实现的任务量,数据库,以及实现的方法,步骤不同
。结果就不同了。 php的很多功能是通过so/dll函数库实现的。就是说由机器码编译好
的了。
相对来说.net java的很多功能函数库,喜欢用.net java在virtual machine里面实现
,通过interop或者jni的方法并不是prefer的,毕竟他们强调的是cross language/
platform。当然不排除vm以及其基本framework,用的是机器码。
当然.net和java的一个好处是,函数库齐全,使用方法单一,明确,容易使用。
如果只是运行程序,其实在linux上使用mono也是是很好的选择。
不过我们这里讨论的是web服务部分,由于受到内存,netwo... 阅读全帖
f**k
发帖数: 906
14
来自主题: BuildingWeb版 - 彻底转投.net了
很多大公司都是用php
Facebook
Wikipedia
Yahoo
Photobucket
Digg
facebook 用hippop编译成机器码。
如果只是比较语言做同样函数,比如数据计算,3d模型的话,显然是C, C++最快,Java
,.net都还不错。php,ruby,python等等需要解析的就慢很多。
但是考虑到整个web框架,他们要实现的任务量,数据库,以及实现的方法,步骤不同
。结果就不同了。 php的很多功能是通过so/dll函数库实现的。就是说由机器码编译好
的了。
相对来说.net java的很多功能函数库,喜欢用.net java在virtual machine里面实现
,通过interop或者jni的方法并不是prefer的,毕竟他们强调的是cross language/
platform。当然不排除vm以及其基本framework,用的是机器码。
当然.net和java的一个好处是,函数库齐全,使用方法单一,明确,容易使用。
如果只是运行程序,其实在linux上使用mono也是是很好的选择。
不过我们这里讨论的是web服务部分,由于受到内存,netwo... 阅读全帖
j********3
发帖数: 560
15
【 以下文字转载自 Computation 讨论区 】
发信人: johnlee123 (no), 信区: Computation
标 题: 请问有没有用过IMSL库的大虾?
发信站: BBS 未名空间站 (Wed Jul 11 17:58:44 2007)
我用 IMSL 库中的 DLSLXG 函数求解系数矩阵稀疏的线性方程组,在方程组规模较小的
时候求解没有任何问题。但是当方程组规模越过一个阈值时,马上就会出错,(编译没
有问题,运行的时候出错),给出的出错信息是“Terminal error 16 from DL2LXG.
Two values of A are given for IROW=72221 and JCOL=7985”,并且是好几条类似的
信息,只是IROW和JCOL后面的数字不同,而且这两个数字随系数矩阵规模的变化而变化
。另外,我并没有调用 DL2LXG 这个函数,看traceback应该是 DLSLXG 函数本身调用
了 DL2LXG 函数。另外还给出 "error type" 为5,"error code" 为16。但是我到处都
找不到这两个东西代表什么意
j********3
发帖数: 560
16
【 以下文字转载自 Computation 讨论区 】
发信人: johnlee123 (no), 信区: Computation
标 题: 请问有没有用过IMSL库的大虾?
发信站: BBS 未名空间站 (Wed Jul 11 17:58:44 2007)
我用 IMSL 库中的 DLSLXG 函数求解系数矩阵稀疏的线性方程组,在方程组规模较小的
时候求解没有任何问题。但是当方程组规模越过一个阈值时,马上就会出错,(编译没
有问题,运行的时候出错),给出的出错信息是“Terminal error 16 from DL2LXG.
Two values of A are given for IROW=72221 and JCOL=7985”,并且是好几条类似的
信息,只是IROW和JCOL后面的数字不同,而且这两个数字随系数矩阵规模的变化而变化
。另外,我并没有调用 DL2LXG 这个函数,看traceback应该是 DLSLXG 函数本身调用
了 DL2LXG 函数。另外还给出 "error type" 为5,"error code" 为16。但是我到处都
找不到这两个东西代表什么意
h*i
发帖数: 3446
17
函数式编程本来就是用来追求更高层的抽象,更面向应用的,为什么要用函数式语言自
己实现这些数据结构?
常用数据结构应该是在语言层面提供的功能。下面是如何实现的,应用程序员不用管那
么多。同样,矩阵操作,这些都应该用标准的库,或是硬件厂商提供的库来做。
函数式编程是在底层库基础上提供的方便应用编程的一种用户界面而已。
g***s
发帖数: 3811
18
来自主题: Computation版 - 怎样增加C语言的库函数
我自己的一个函数需要以后经常使用,我想把它做成一个库函数的形式。
我先写了一个“a.C"文件里面是我经常用的那个函数,又写了一个“a.h"文件,这个头文
件中只是那个函数的声明。
然后我把“a.C" 和“a.h"文件都存在了当前目录下。我在我的应用程序中一开始就写上
#include "a.h"
为什么在编译时老是显示错误:找不到那个我写在“a.C"中的函数。
可是当我直接写
#include "a.C"
就得到了我要的结果。可是我不想这样做,我想include头文件,而不是直接include那个
函数。我想要做得就像只include math.h 就可以使用 sqrt() 一样。
大家能不能给我推荐一本这方面的专业书,那些基本的C语言书都没详细的写这些内容。
我甚至查不到我把“a.C"和"a.h"都存在当前目录下对不对。
d*****t
发帖数: 97
19
来自主题: Computation版 - fortran新手求救
老板最近叫我学用fortran,下了本书看,看code是可以了,但不知道怎么在自己的机
器上编辑调试code。我用的是vista home,google了一下,好像可以用cvf 6跑跑基本
的函数。但需要装个IMSL的函数库。想请教一下:
1.cvf6。5可以装imsl的函数库吗?如果不行,在vista下,我应该用哪个compiler比较
好?
2.IMSL函数库分有不同的platform下载,我应该下哪个?(抱歉,本人对操作系统也不
太懂。
先多谢了。
s**s
发帖数: 242
20
来自主题: Unix版 - 如何生成静态连接库?(zz)
水木清华BBS集锦:如何生成静态连接库? 本文出自: smth.org 作者: (2001-09-06 07:00:00)
发信人: hellguard (小四), 信区: Unix
标 题: Re: 如何生成静态连接库?
发信站: BBS 水木清华站 (Fri Nov 12 10:43:42 1999)
木棉的兄弟给咱解决了,转贴如下,这样就不让后来的兄弟走弯路
发信人: Loafer (木棉浪子), 信区: Unix
标 题: Re: 如何生成静态链接库
发信站: 华南网木棉站 (Thu Nov 11 21:26:08 1999), 转信
静态库及动态库的建立
UNIX系统及各种软件包为开发人员提供了大量的库文件。但一般情况下这些库文件还
不能足以满足用户的所有需求。开发人员大多会根据他们自己的开发、研究要求编写
出许多函数。对于这些函数,如果都用在命令行中指定源文件的方法同调用它们的程
序链接起来,虽然也是可以的,但也有一些缺点:
.....
下面来看看如何生成静态库。
我们知道静态库也称档案库,在此档案文件中实际上是收集了一系列的目标文件。这
些目标文件就是由
d****o
发帖数: 32610
21
来自主题: Military版 - 向马工简单解释和制汉语的性质
汉语是个古老的编程语言
在此之上有标准函数库,官方版本由中国维护
因为中国古代牛逼,周边国家大都fork过,然后搞了自己的版本
时间久了,自然就有了差异
随着时代发展,西方崛起
搞出了很多新的牛逼算法
鬼子留学早,先接触了这些东西,
就拿自己熟悉的语言实现了这些函数,
然后放在自己的标准库里
中国发现好用,就在后来的新标准版本里也加上了一样的东西
具体到“党“这个例子
汉语标准库也有党这个函数
后来西方弄出了现代政党政治
拿python做了个party函数
日本发现好用
怎么办呢
因为汉语支持function overload
为了方便
就把汉语本来的党函数overload了
重新写了个跟party函数一样的c++版本
中国一看不错
也放到stdlib里了
t*******r
发帖数: 22634
22
下面文字是针对楼主的这个帖子而言:
http://www.mitbbs.com/article/WaterWorld/2035975_0.html
再喝一口水:
大法官想了想,问 C/C++ “集合论/集合算子/集合函数库”州的州长:
你那里不是有一堆处理集合的 operator/token,就不能出头解决这个问题?
C/C++ “集合论/集合算子/集合函数库”州的州长:
法官您有所不知,丫要的是处理“自然数全集”这样的 operator/token。咱们
C/C++ 语言联邦自打立宪建州建国那天就把那些给驱逐得一干二净。没办法,
那些家伙引起悖论也不是咱们的错是吧。。。
大法官:
那啥地方有那些东东?
C/C++ “集合论/集合算子/集合函数库”州的州长:
其他的 formal system 有没有这玩意儿,俺不知道。要知道 formal system
的小屁国多了去了。但是俺知道欧几里德王国肯定有,因为俺刚才问了移民局局长,
楼主就是从那里坐集装箱过来的。。。
<未完待续>
c***d
发帖数: 996
23
☆─────────────────────────────────────☆
wsnzxcvbnm (我萎琐故我在) 于 (Wed Oct 17 16:39:51 2007) 提到:
请问VC++里面有自带的矩阵运算的库函数吗?头文件名是什么?编译的时候怎么链接呢?
其实主要也就是要用矩阵的乘法,行或者列的最大值或者最小值等等。
Thanks a million!
☆─────────────────────────────────────☆
kukutf (五脚蟹★酷酷豆腐) 于 (Wed Oct 17 16:58:15 2007) 提到:
应该没有的
自己写一个简单的吧,没有几行代码的

呢?
☆─────────────────────────────────────☆
wsnzxcvbnm (我萎琐故我在) 于 (Wed Oct 17 17:10:55 2007) 提到:
自己裸写也没什么问题,就一个分量一个分量的搞。但是因为矩阵很大--否则就用
Matlab(比其能定义的要大)了,就怕不优化,速度慢。
网上有没有什么这样的库或者函数,直接复制粘
j********3
发帖数: 560
24
来自主题: Computation版 - 请问有没有用过IMSL库的大虾?
我用 IMSL 库中的 DLSLXG 函数求解系数矩阵稀疏的线性方程组,在方程组规模较小的
时候求解没有任何问题。但是当方程组规模越过一个阈值时,马上就会出错,(编译没
有问题,运行的时候出错),给出的出错信息是“Terminal error 16 from DL2LXG.
Two values of A are given for IROW=72221 and JCOL=7985”,并且是好几条类似的
信息,只是IROW和JCOL后面的数字不同,而且这两个数字随系数矩阵规模的变化而变化
。另外,我并没有调用 DL2LXG 这个函数,看traceback应该是 DLSLXG 函数本身调用
了 DL2LXG 函数。另外还给出 "error type" 为5,"error code" 为16。但是我到处都
找不到这两个东西代表什么意思。
我试过增加stack的大小,也试过在程序中用4字节整数代替2字节整数,但是都没有用。
请大虾指教。多谢!
c******e
发帖数: 545
25
要是带参数的情况就复杂多了,在传统x86平台上,会涉及至少三个问题:
1. 参数传递的方式:stack(__stdcall,__pascal,__cdecl),register+stack(__
fastcall)
2. 参数传递的顺序:右到左(__cdecl,__stdcall),左到右(__pascal),不定,取
决于compiler(__fastcall)
3. 处理stack:主函数(__cdecl),被叫函数(其他)
如果不特殊说明,函数的calling convention都是默认__cdecl,windows平台上API默
认__stdcall(除了变参函数,这个只有__cdecl可以处理)
这些应该都是比较古老的知识了,现在可能除了搞底层的人都不去管了,从前主要用在
函数库互调和写能被c调用的汇编函数的时候用的。
轻量级嵌入式平台上情况还不一样,主要因为资源有限,一些平台上根本没有参数栈,
函数参数都是保存在全局变量里的,函数本身默认为不可重入。这种情况再声明函数指
针的时候要指明是可重入函数(一般compiler会有特殊的keyword),当然被叫函数也
应该是相同... 阅读全帖
j**********i
发帖数: 3758
26
来自主题: Apple版 - 一颗CPU到底值多少钱?
先不谈一颗CPU的作用有多大,先谈一颗CPU的成本。有人说,一颗CPU的材料费有限,
就是几个天才把设计弄出来,然后工厂大批生产,上市买了个惊人的天价。是这样吗?
那么,我们来看一看生产这颗CPU的研发成本。首先,这颗CPU的形成到上市需要那些专
业,我粗略地算了一下:数学,物理,化学,电子,材料,计算机,法律,经济,管理
,市场都有,我还漏算了机械加工和质量管理,封装等不知道归哪一类的学科。这里的
许多学科从事这项研发的人都是本行业的顶尖人才。
其次,再算一下这些人才付出的代价。不用说,顶尖人才的培养是一个漫长曲折的过程
,就是研发,也需要许多支持。做过工程研究和实施的人都知道,做一个项目目标明确
就是一个很长的过程,目标明确以后,所用的工具和手段也不是现成的,是用许多可能
,组合和创新的结合。就像一个函数库,东西很多,都是基础的,用那些和如何用都是
艰难的选择。成品出来以后,你不可能只付用到的函数的价钱,而是需要预先购买整个
函数库并承担风险。这样算来,所需的劳动量在理论研究方面就大大扩展了。最后,难
道就是关键天才的灵机一动吗。这是百度关于计算机之父约翰·冯·诺依曼的记叙(htt... 阅读全帖
j**********i
发帖数: 3758
27
【 以下文字转载自 Apple 讨论区 】
发信人: jpostsildavi (ID), 信区: Apple
标 题: 一颗CPU到底值多少钱?
发信站: BBS 未名空间站 (Sun Jul 1 07:53:45 2012, 美东)
先不谈一颗CPU的作用有多大,先谈一颗CPU的成本。有人说,一颗CPU的材料费有限,
就是几个天才把设计弄出来,然后工厂大批生产,上市买了个惊人的天价。是这样吗?
那么,我们来看一看生产这颗CPU的研发成本。首先,这颗CPU的形成到上市需要那些专
业,我粗略地算了一下:数学,物理,化学,电子,材料,计算机,法律,经济,管理
,市场都有,我还漏算了机械加工和质量管理,封装等不知道归哪一类的学科。这里的
许多学科从事这项研发的人都是本行业的顶尖人才。
其次,再算一下这些人才付出的代价。不用说,顶尖人才的培养是一个漫长曲折的过程
,就是研发,也需要许多支持。做过工程研究和实施的人都知道,做一个项目目标明确
就是一个很长的过程,目标明确以后,所用的工具和手段也不是现成的,是用许多可能
,组合和创新的结合。就像一个函数库,东西很多,都是基础的,用那些和如何用... 阅读全帖
B******e
发帖数: 48
28
其实production code里面用得是很多的。当然不是指乱goto,而是达到以下几个目的:
1. 每个函数单一的出口(函数尾部)
2. 每个函数单一的cleanup,这样在出错处理时,集中处理能很好地避免内存泄漏等问题
3. 逻辑简单,不容易出现if大规模地嵌套,也不需要一些状态变量来从两重以上的循
环中退出
4. 代码易维护。多加一段代码一般不会影响以前代码的执行。
举个例子, 以上这几点都体现在下面的代码里。虽略显繁琐,但确实是我非常喜欢的一
种结构。
int ReadDataFromFile(char** ppbuf)
{
int ret = 0;
char* pbuf = NULL;
FILE* fp = NULL;
assert(ppbuf);
*ppbuf = NULL;
if (!(fp=fopen(...))) {
ret = -1;
goto cleanup;
}
if (!(pbuf=malloc(...))) {
ret = -1;
goto cleanup;
IP
发帖数: 106
29
小弟现在需要在FreeBSD内核(模块)函数内,要用到一个随机流函数(即每次调用随机流
函数,得到的数服从某种统计分布,比如负指数分布,几何分布,或者Pareto分布). 我
的理解,如果是在用户空间里面实现一个如此的随机流函数比较容易,利用C带的均匀分
布随机数产生器,再加上math.h里的求对数或者求幂函数log(), 和pow(),就可以产生
上述分布.但是如果在内核里面自己实现这样随机流函数(内核好像没有现成的函数),我
遇到两个麻烦,第一, math.h 和 sys/systm.h里面都定义了"log", 编译有冲
突,还有网上有人说数学库链接会有问题.第二, 能不能尽量避免在内核使用浮点数.

请教一下大家,有没有什么建议,谢谢!
t******r
发帖数: 209
30
来自主题: Programming版 - 问一个函数对象问题
常看到:
配接器bind2nd用作把二元变为一元判断式,常用在标准库带的函数对象上,
如:bind2nd(equal_to(),70)
小弟有个很初级的问题,
问什么标准库带的函数对象不能直接用70初始化,如:
equal_to(70);
恳请解答,谢谢。
m*******m
发帖数: 182
31
来自主题: Unix版 - 怎么回事?!

编译不检查一个函数是否定义,所以再仔细看看有没有名字写错.
如果是库函数,那有没有加对"-l"后的函数库名,还有是否设对了"-L"
目录.
N******K
发帖数: 10202
32
10年前c++确实可以写矩阵库 但是很有可能写出来的性能很弱
比如 C= A+B+D 就得产生好几个临时矩阵 (A+B) ((A+B)+D) 要分配内存等等 浪费,
如果函数返回,还得模拟一个 std::move 我还真手动模拟了一个 std::move 结果发
现c++11就有
我写的这个 如果是线性组合 根本不用产生临时矩阵
另外 matlab的copy-on-write 是有性能问题的 应为matlab函数是传值 所以搞copy-on
-write 如果c++也搞 那就疯了
我一开始完全模仿matlab 搞的也是copy-on-write
比如
A, B是两个矩阵
B=A; //只是共享数据,不拷贝,一般称为shallow copy
A(1,1)=0; // A发现有别人共享数据,那就在修改前复制一份,然后修改元素(1,1)
这样在所有的元素(i,j)操作,都要检查一下,疯了
c++有 const 引用 根本不需要 copy-on-write
我就把 c++矩阵库 的copy-on-write 功能给去掉了

prvalue
,
.
G*****h
发帖数: 33134
33
【 以下文字转载自 Linux 讨论区 】
发信人: GoTouch (够她吃), 信区: Linux
标 题: 说说理想的编程语言该是啥样子
发信站: BBS 未名空间站 (Mon Dec 26 02:52:07 2011, 美东)
琐男天天与代码为伍, 希望手里的代码是啥样的蹂躏起来比较中意呢
偶觉得, 下面几点是最主要的
语法类似 C/C++ 或者 java
编译执行, 效率接近C/C++, 同时有交互式解释执行环境。
OO, 单继承, 支持 interface
静态强类型, 但支持自动类型赋值和转换。
自动生成函数原型, 不需要象C++ 里函数声明和实现两行重复的代码, class 名字要重
复出现无数次。
无自动 garbbage collection, 因为没法有效控制 GC 的时机。但是提供内存的分配释
放跟踪工具, 可以随时检查内存泄露等问题。一般要求内存尽早释放, 可以考虑在适当
的时候手工调用GC 函数回收少量泄露的内存。
有 slice 等带越界检查的数组, 最大限度避免指针的使用。即使不能完全消除指针,
指针代码必须用编译开关明确开启, 而且必须为指针指定一个... 阅读全帖
G*********e
发帖数: 407
34
好文收藏

作为一个成功转行的人,我来分享一下个人的经验,希望对大家有所帮助.
先说下个人情况:[起点]高考失利,被国内三本降分录取,服从分配到农学专业.[终点]
微软SDE.这里向大家传递的第一个信息是--起点这么低的人都能转,这些硕士博士、腿
肚子都比我脑瓜子聪明的人,怎么就不能转?要有信心,要有勇气!
下面分享一些转行过程中的关键点(正向能量)、痛苦(从中学到了什么)和弯路(你
应该避开).
[核心]转行指的是要在CS行业工作,而不是说新学了一堆CS的理论知识.所以,未来的学
习过程中要以培养生产力,无论是开发能力,还是测试能力,还是组织协调能力(文科同
学有可能会转项目经理或者产品经理).理论知识有助于更扎实地使用你的技能,但这回
是处在辅助地位.学位学习是知识为主,技能为辅,转行学习要倒过来,技能为主,知识为
辅.
[关键点0]不要在‘选择’上浪费太多时间,心动不如行动,想好转了就马上开始计划
,然后开始学习。很多人就是在拖拖拉拉的选择过程中几年也没转成。要开始学了,那
就选准一个方向(语言和程序方向,详见后面)开足马力学,不要纠结于“我是学Java
还是.NET?”“XXX... 阅读全帖
a****a
发帖数: 67
35
看到很多朋友讨论转行的事情,问题集中在'我是非专业,能不能转,怎么转,学什么'上.
作为一个成功转行的人,我来分享一下个人的经验,希望对大家有所帮助.
先说下个人情况:[起点]高考失利,被国内三本降分录取,服从分配到农学专业.[终点]
微软SDE.这里向大家传递的第一个信息是--起点这么低的人都能转,这些硕士博士、腿
肚子都比我脑瓜子聪明的人,怎么就不能转?要有信心,要有勇气!
下面分享一些转行过程中的关键点(正向能量)、痛苦(从中学到了什么)和弯路(你
应该避开).
[核心]转行指的是要在CS行业工作,而不是说新学了一堆CS的理论知识.所以,未来的学
习过程中要以培养生产力,无论是开发能力,还是测试能力,还是组织协调能力(文科同
学有可能会转项目经理或者产品经理).理论知识有助于更扎实地使用你的技能,但这回
是处在辅助地位.学位学习是知识为主,技能为辅,转行学习要倒过来,技能为主,知识为
辅.
[关键点0]不要在‘选择’上浪费太多时间,心动不如行动,想好转了就马上开始计划
,然后开始学习。很多人就是在拖拖拉拉的选择过程中几年也没转成。要开始学了,那
就选准一个方向(语言和程序方向,详... 阅读全帖
G*********e
发帖数: 407
36
好文收藏

作为一个成功转行的人,我来分享一下个人的经验,希望对大家有所帮助.
先说下个人情况:[起点]高考失利,被国内三本降分录取,服从分配到农学专业.[终点]
微软SDE.这里向大家传递的第一个信息是--起点这么低的人都能转,这些硕士博士、腿
肚子都比我脑瓜子聪明的人,怎么就不能转?要有信心,要有勇气!
下面分享一些转行过程中的关键点(正向能量)、痛苦(从中学到了什么)和弯路(你
应该避开).
[核心]转行指的是要在CS行业工作,而不是说新学了一堆CS的理论知识.所以,未来的学
习过程中要以培养生产力,无论是开发能力,还是测试能力,还是组织协调能力(文科同
学有可能会转项目经理或者产品经理).理论知识有助于更扎实地使用你的技能,但这回
是处在辅助地位.学位学习是知识为主,技能为辅,转行学习要倒过来,技能为主,知识为
辅.
[关键点0]不要在‘选择’上浪费太多时间,心动不如行动,想好转了就马上开始计划
,然后开始学习。很多人就是在拖拖拉拉的选择过程中几年也没转成。要开始学了,那
就选准一个方向(语言和程序方向,详见后面)开足马力学,不要纠结于“我是学Java
还是.NET?”“XXX... 阅读全帖
G*****h
发帖数: 33134
37
偶觉得, 下面几点是最主要的
语法类似 C/C++ 或者 java
编译执行, 效率接近C/C++, 同时有交互式解释执行环境。
OO, 单继承, 支持 interface
静态强类型, 但支持自动类型赋值和转换。
自动生成函数原型, 不需要象C++ 里函数声明和实现两行重复的代码, class 名字要重
复出现无数次。
无自动 garbbage collection, 因为没法有效控制 GC 的时机。但是提供内存的分配释
放跟踪工具, 可以随时检查内存泄露等问题。一般要求内存尽早释放, 可以考虑在适当
的时候手工调用GC 函数回收少量泄露的内存。
有 slice 等带越界检查的数组, 最大限度避免指针的使用。即使不能完全消除指针,
指针代码必须用编译开关明确开启, 而且必须为指针指定一个变量存放其内存大小, 便
于越界检查。
有 generics 或者 C++ template
lambda 可有可无, 如果有, 必须是命名的, 不是无名函数
函数可以作为参数, 嵌套函数可有可无。
可以调用C/C++的函数库
差不多先这些, 现在的语言里 go 大概最接近
但是 go 的多线程实现... 阅读全帖
a****a
发帖数: 67
38
看到很多朋友讨论转行的事情,问题集中在'我是非专业,能不能转,怎么转,学什么'上.
作为一个成功转行的人,我来分享一下个人的经验,希望对大家有所帮助.
先说下个人情况:[起点]高考失利,被国内三本降分录取,服从分配到农学专业.[终点]
微软SDE.这里向大家传递的第一个信息是--起点这么低的人都能转,这些硕士博士、腿
肚子都比我脑瓜子聪明的人,怎么就不能转?要有信心,要有勇气!
下面分享一些转行过程中的关键点(正向能量)、痛苦(从中学到了什么)和弯路(你
应该避开).
[关键点1]你不必多喜欢计算机,但至少不能讨厌,不然它不能吸引你反而互相排斥,学什
么都学不进去的.
[关键点2]正确的计算机操作,很多人笑了.但你问问计算机玩的好的人,正确的指法和飞
一样的操作给他们带来了多少好处.
[关键点3]清楚的语言表达能力(女生有这方面的天赋).现在的程序大多是面向对象编
程,写程序基本上跟聊天一样.语言能力好的人思路清晰,用词准确,组织有条件,程序的
要求是一样的.如果你未来成为软件工程师,看到一堆胡言乱语般的代码,不信你找写代
码的人聊聊天,他说话肯定也那样.而且你想,汉语或者英语这么复杂... 阅读全帖
J*********r
发帖数: 5921
39
写得不错,但排版看得有点累。花了点时间整理了一下:
========================
发信人: amrita (Amrita), 信区: CS
标 题: 非专业人士转行CS成功经验分享
发信站: BBS 未名空间站 (Sat Oct 12 02:32:18 2013, 美东)
看到很多朋友讨论转行的事情,问题集中在'我是非专业,能不能转,怎么转,学什么'上.
作为一个成功转行的人,我来分享一下个人的经验,希望对大家有所帮助.
先说下个人情况:
[起点]高考失利,被国内三本降分录取,服从分配到农学专业.
[终点]微软SDE.
这里向大家传递的第一个信息是--起点这么低的人都能转,这些硕士博士、腿
肚子都比我脑瓜子聪明的人,怎么就不能转?要有信心,要有勇气!
下面分享一些转行过程中的关键点(正向能量)、痛苦(从中学到了什么)和弯路(你
应该避开).
[关键点1]你不必多喜欢计算机,但至少不能讨厌,不然它不能吸引你反而互相排斥,学什
么都学不进去的.
[关键点2]正确的计算机操作,
很多人笑了.但你问问计算机玩的好的人,正确的指法和飞
一样的操作给他们带来了多少好处.
[关... 阅读全帖
J*********r
发帖数: 5921
40
写得不错,但排版看得有点累。花了点时间整理了一下:
========================
发信人: amrita (Amrita), 信区: CS
标 题: 非专业人士转行CS成功经验分享
发信站: BBS 未名空间站 (Sat Oct 12 02:32:18 2013, 美东)
看到很多朋友讨论转行的事情,问题集中在'我是非专业,能不能转,怎么转,学什么'上.
作为一个成功转行的人,我来分享一下个人的经验,希望对大家有所帮助.
先说下个人情况:
[起点]高考失利,被国内三本降分录取,服从分配到农学专业.
[终点]微软SDE.
这里向大家传递的第一个信息是--起点这么低的人都能转,这些硕士博士、腿
肚子都比我脑瓜子聪明的人,怎么就不能转?要有信心,要有勇气!
下面分享一些转行过程中的关键点(正向能量)、痛苦(从中学到了什么)和弯路(你
应该避开).
[关键点1]你不必多喜欢计算机,但至少不能讨厌,不然它不能吸引你反而互相排斥,学什
么都学不进去的.
[关键点2]正确的计算机操作,
很多人笑了.但你问问计算机玩的好的人,正确的指法和飞
一样的操作给他们带来了多少好处.
[关... 阅读全帖
M****N
发帖数: 27
41
很巧,我最近也一直在思考人工智能的问题。你提道的这个确实是现在人智粉们主要的
角度与思路,我自己也顺着这个思路走了一段时间,有机会再聊吧。
不过生命的主流定义一下子还没法挑战。
[在 atnowhere (中顽童) 的大作中提到:]
:我只是听过这个说法,都不知道作者是谁(汗),不过这不影响什么,标题就够了。
:其实你说生命不是基因,那要看你如何定义生命了。你同意人作为生命,个体,最重
要的是头脑吗?如果是,那你同意头脑也不是最重要的,只要你能把头脑或者移植,或
者上传(就像matrix)里那样的吗?如果是,你认为什么是生命?
:生命严格来讲,就是一套数学函数,有输入(外界刺激),有输出(行为反应)。人
人的函数不同,所以个性不同。但现在既然还没到数字生命时代(matrix time), 既然
还是基因在控制人的这套函数系统,那你说基因不是生命吗?主观性,不是基因的一个
函数库中的函数表现吗?
:<br>: 说得好,有思想的专家参与讨论让讨论更深入。
:<br>: 可能你也受Richard Dawkins的“The Selfish Gene”影响比较大... 阅读全帖
w*****t
发帖数: 485
42
面试中直接写库函数就行了,不用管头文件
l*b
发帖数: 4369
43
来自主题: PhotoGear版 - 说道C语言
不是把matlab自带的函数库移过来
是我前些年自己写的各种科学计算的matlab函数库
移植到c++里,写了个dll。
中间bug无数,当然也是我比较弱。最后好歹能用了。
m******s
发帖数: 204
44
一点补充:
dx主要是pc及xbox
非微软的系统用opengl或特有的函数库: ps3卡发用自己的函数库或psgl 苹果用
opengl / OpenGL es
f******n
发帖数: 90
45
来自主题: Programming版 - C库函数的实现
请问哪里可以找到C库函数的实现,例如strcmp, strtok等等。 在linux上一般存在哪
个目录?
s**9
发帖数: 207
46
来自主题: Programming版 - 急问:compile and build dependency
一个类用于多个函数库. 现在对这个类做如下修改:
增加constructor
增加数据成员
将destructor改为virtual
给一个函数增加一个带缺省值的参数
问哪些情况下需要recompile所有的库来确保一个应用能正确地build?
哪些书会讲到这种问题? C++? design pattern?
C*****l
发帖数: 12
47
来自主题: Programming版 - 编译设定极弱问题
对linux一窍不通,C++的使用也是基于老掉牙的MFC......
现在需要在Visual Studio里利用一个linux下develop出来的C++函数库,请问如何设定
VS来编译它呢?多谢多谢。
函数库的来源:
http://www.catanzaro.name/download/download.php?file=1
W*******e
发帖数: 1268
48
来自主题: Programming版 - 开始学python,要被它打败了
现在的软件项目代码多几行少几行其实关系不大。MyEclipse, Oracle ADF很多Java
RAD工具可以根据设计图自动生成框架,比Rails的Scaffold还灵活强大。像Entity
Beans,View beans几分钟就可以完成上万行Java代码,而且几乎就是final在整个产品
生命周期中不需要修改的了。我个人感觉软件项目中最重要的是模块内的代码和设计结
构是否可靠。速度不求最快,但稳定性和可靠性要高。容易替换和扩展,便于自动测试
,要有长的生命周期。
如果说Python提供了很多库函数支持,这似乎没有什么特别优势。任何一个语言都可以
靠封装代码提供更多的函数库来减少编程量。Python没用强类型减少了编码的工作量,
这是个双刃剑,增加了runtime type error的可能性。我的经验是编译器静态检验类型
错误非常容易,在解释器里查runtime error是很花时间的。不知道Python对这类错误
有没有便利的查错方法。我个人看来,增加不必要的运行错误风险降低了代码的质量。
靠代码质量去trade编程量在商业系统中是值得小心的。自己玩玩编程问题不大。
i**p
发帖数: 902
49
来自主题: Programming版 - Android NDK竟然没有有关JSON的库函数
搜寻了一个小时竟然没找到。来自第三方的不少。Android NDK应该支持这个简单的常
用库函数吧。
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)