g***s 发帖数: 3811 | 1 我自己的一个函数需要以后经常使用,我想把它做成一个库函数的形式。
我先写了一个“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"都存在当前目录下对不对。 |
|
c***d 发帖数: 996 | 2 ☆─────────────────────────────────────☆
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(比其能定义的要大)了,就怕不优化,速度慢。
网上有没有什么这样的库或者函数,直接复制粘 |
|
|
f******n 发帖数: 90 | 4 请问哪里可以找到C库函数的实现,例如strcmp, strtok等等。 在linux上一般存在哪
个目录? |
|
i**p 发帖数: 902 | 5 搜寻了一个小时竟然没找到。来自第三方的不少。Android NDK应该支持这个简单的常
用库函数吧。 |
|
s****A 发帖数: 80 | 6 看career cup上字符反转的题,给的答案里还要先找一下结尾的NULL字符在哪里
那我面试的时候可不可以include cstring,用一下strlen函数? |
|
m*******n 发帖数: 103 | 7 本人比较土,找不到gcc的安装路径。同时用了一个库函数,但是不知道怎样查找出需要
链接的lib.
在MSDN中是很容易找的。但是在Sun Solaries GCC,怎么找?谢谢 |
|
y********l 发帖数: 3970 | 8 外行又来问问题了。
VBA功能弱,但架不住它和它所依附的OFFICE的方便。话说VBA能不能调用其他语言写的
函数?比如最近用VBA抓数据时IE automation特别不好使。用C#吧,手上的数据的格式
乱得很,以至于我时不时要手动去Excel里编辑这些数据。有没有办法用VBA调用C#写的
一个替代IE automation的子程序?谢谢。 |
|
z****s 发帖数: 3 | 9 我用的是免费的 Microsoft Visual C++ 2008 Express Edition with SP1。 有个程序
用到int isnan(float)这个函数。老是link的时候出错。是不是需要其他的什么 .H
文件?
我已经inclulde了stdlib.h math.h 和 stdio.h.我的仿真用的是C不是C++。
isnan() 在ANSI C 和ISO C标准里都是有的。 |
|
p****e 发帖数: 3548 | 10 抓数据都用MSXML2.XMLHTTP吧,用IE automation太慢了
你可以把VBA当成python之类用,因为他们都是单线程,通过DLL或者COM来调用各种库
,实现多线程等的复杂功能 |
|
w***g 发帖数: 5958 | 11 NDK是C++的吧,没有json支持正常。C++没有特别好的json库。要么难用,要么要求很
新的编译器。如果只是随便用用,boost::property_tree勉强可以。 |
|
i**p 发帖数: 902 | 12 C/C++. JSON用的很多了。并且JSON的语法并不难,为何就不能有好的json库? |
|
f********r 发帖数: 50 | 13 你的问题出在编译上
你需要把a.C文件编译成目标代码才行
soln1:
g++ main.C a.C
soln2:
g++ -c a.C
g++ main.C a.o
soln3:
write a Makefile
soln4:
make a library of your a.C
suppose your library file is liba.a
then
g++ main.C -la
soln4实际上和sqrt的方法是一样的,只是-lm,(链接数学库,在
很多系统上是可以省略的)
文
上
个 |
|
n**********2 发帖数: 648 | 14 【 以下文字转载自 Programming 讨论区 】
发信人: xykkkk (asdf), 信区: Programming
标 题: 老码农冒死揭开行业黑幕:如何编写无法维护的代码(zz)
发信站: BBS 未名空间站 (Fri Nov 28 13:28:27 2014, 美东)
如何编写无法维护的代码
让自己稳拿铁饭碗 ;-)
– Roedy Green(翻译版略有删节)
简介
永远不要(把自己遇到的问题)归因于(他人的)恶意,这恰恰说明了(你自己的)无
能。 — 拿破仑
为了造福大众,在Java编程领域创造就业机会,兄弟我在此传授大师们的秘籍。这些大
师写的代码极其难以维护,后继者就是想对它做最简单的修改都需要花上数年时间。而
且,如果你能对照秘籍潜心修炼,你甚至可以给自己弄个铁饭碗,因为除了你之外,没
人能维护你写的代码。再而且,如果你能练就秘籍中的全部招式,那么连你自己都无法
维护你的代码了!
(伯乐在线配图)
你不想练功过度走火入魔吧。那就不要让你的代码一眼看去就完全无法维护,只要它实
质上是那样就行了。否则,你的代码就有被重写或重构的风险!
总体原则
Quidquid... 阅读全帖 |
|
x****k 发帖数: 2932 | 15 如何编写无法维护的代码
让自己稳拿铁饭碗 ;-)
– Roedy Green(翻译版略有删节)
简介
永远不要(把自己遇到的问题)归因于(他人的)恶意,这恰恰说明了(你自己的)无
能。 — 拿破仑
为了造福大众,在Java编程领域创造就业机会,兄弟我在此传授大师们的秘籍。这些大
师写的代码极其难以维护,后继者就是想对它做最简单的修改都需要花上数年时间。而
且,如果你能对照秘籍潜心修炼,你甚至可以给自己弄个铁饭碗,因为除了你之外,没
人能维护你写的代码。再而且,如果你能练就秘籍中的全部招式,那么连你自己都无法
维护你的代码了!
(伯乐在线配图)
你不想练功过度走火入魔吧。那就不要让你的代码一眼看去就完全无法维护,只要它实
质上是那样就行了。否则,你的代码就有被重写或重构的风险!
总体原则
Quidquid latine dictum sit, altum sonatur.
(随便用拉丁文写点啥都会显得高大上。)
想挫败维护代码的程序员,你必须先明白他的思维方式。他接手了你的庞大程序,没有
时间把它全部读一遍,更别说理解它了。他无非是想快速找到修改代码的位置、改代码
、编译,然后就能交差,... 阅读全帖 |
|
l**n 发帖数: 7272 | 16 虽然这里的码工比较少,但是能appreciate coding和programming的朋友也可以看看。
我觉得挺有意思的。
http://blog.sina.com.cn/s/blog_5d90e82f01014k5j.html
我想通过这篇文章解释一下我对 Unix 哲学本质的理解。我虽然指出 Unix 的一个设计
问题,但目的并不是打击人们对 Unix 的兴趣。虽然 Unix 在基础概念上有一个挺严重
的问题,但是经过多年的发展之后,这个问题恐怕已经被各种别的因素所弥补(比如大
量的人力)。但是如果开始正视这个问题,我们也许就可以缓慢的改善系统的结构,从
而使得它用起来更加高效,方便和安全,那又未尝不可。同时也希望这里对 Unix 命令
本质的阐述能帮助人迅速的掌握 Unix,灵活的应用它的潜力,避免它的缺点。
通常所说的“Unix哲学”包括以下三条原则[Mcllroy]:
一个程序只做一件事情,并且把它做好。
程序之间能够协同工作。
程序处理文本流,因为它是一个通用的接口。
这三条原则当中,前两条其实早于 Unix 就已经存在,它们描述的其实是程序设计最... 阅读全帖 |
|
c*********y 发帖数: 1119 | 17 现在有一个大概95年在LINUX下用C编写的程序,用现在的编译器发现有一些库函数已
经不用了,我就找了一些现有的库函数来代替它们(网上说可以替代)。编译是能通
过,但是具体应用数据算的时候,就出现 “can't allocated -4 byte memory”
之类的提示。也不知道是什么原因?
这种情况我该怎么办?我想了2个办法,不知道何不合理?
第一:把老程序里涉及的所有库函数都找出来,但是存在一个现实问题,就是似乎有
的库函数网上已经下载不到了,鄙人对C语言懂得很少,不知道哪里能下到比较全的
库函数。我把库函数罗列一下,希望有高人可以给出下载路径:formula.h/
compiler.h syst.h file.h par.h matrix.h fft.h mysys.h
第二,就是我想是否能找出老版本的turbo C 的编译器,或者是老版本的CC编译器,
但是似乎也非常难找到,不知道有没有高人给出下载链接。
谢谢 |
|
f********a 发帖数: 1109 | 18 【 以下文字转载自 Programming 讨论区 】
发信人: ozin (ozin), 信区: Programming
标 题: 王银看kotlin(本文建议零售价 ¥15)
发信站: BBS 未名空间站 (Thu May 25 18:06:39 2017, 美东)
Kotlin 和 Checked Exception
最近 JetBrains 的 Kotlin 语言忽然成了热门话题。国内小编们传言说,Kotlin 取代
了 Java,成为了 Android 的“钦定语言”,很多人听了之后热血沸腾。初学者们也开
始注意到 Kotlin,问出各种“傻问题”,很“功利”的问题,比如“现在学 Kotlin
是不是太早了一点?” 结果引起一些 Kotlin 老鸟们的鄙视。当然也有人来信,请求
我评价 Kotlin。
对于这种评价语言的请求,我一般都不予理睬的。作为一个专业的语言研究者,我的职
责不应该是去评价别人设计的语言。然而浏览了 Kotlin 的文档之后,我发现 Kotlin
的设计者误解了一个重要的问题——关于是否需要 checked exception。对于这个话题
我已经思考... 阅读全帖 |
|
o**n 发帖数: 2130 | 19 Kotlin 和 Checked Exception
最近 JetBrains 的 Kotlin 语言忽然成了热门话题。国内小编们传言说,Kotlin 取代
了 Java,成为了 Android 的“钦定语言”,很多人听了之后热血沸腾。初学者们也开
始注意到 Kotlin,问出各种“傻问题”,很“功利”的问题,比如“现在学 Kotlin
是不是太早了一点?” 结果引起一些 Kotlin 老鸟们的鄙视。当然也有人来信,请求
我评价 Kotlin。
对于这种评价语言的请求,我一般都不予理睬的。作为一个专业的语言研究者,我的职
责不应该是去评价别人设计的语言。然而浏览了 Kotlin 的文档之后,我发现 Kotlin
的设计者误解了一个重要的问题——关于是否需要 checked exception。对于这个话题
我已经思考了很久,觉得有必要分享一下我对此的看法,避免误解的传播,所以我还是
决定写一篇文章。
可以说我这篇文章针对的是 checked exception,而不是 Kotlin,因为同样的问题也
存在于 C# 和其它一些语言。
冷静一下
在进入主题之前,我想先纠正一些人的误解,让他... 阅读全帖 |
|
d*******r 发帖数: 3299 | 20 作者: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 | 21 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一年都没更新过的库,那就算了。 |
|
j********3 发帖数: 560 | 22 【 以下文字转载自 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 | 23 【 以下文字转载自 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 | 24 函数式编程本来就是用来追求更高层的抽象,更面向应用的,为什么要用函数式语言自
己实现这些数据结构?
常用数据结构应该是在语言层面提供的功能。下面是如何实现的,应用程序员不用管那
么多。同样,矩阵操作,这些都应该用标准的库,或是硬件厂商提供的库来做。
函数式编程是在底层库基础上提供的方便应用编程的一种用户界面而已。 |
|
s**s 发帖数: 242 | 25 水木清华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系统及各种软件包为开发人员提供了大量的库文件。但一般情况下这些库文件还
不能足以满足用户的所有需求。开发人员大多会根据他们自己的开发、研究要求编写
出许多函数。对于这些函数,如果都用在命令行中指定源文件的方法同调用它们的程
序链接起来,虽然也是可以的,但也有一些缺点:
.....
下面来看看如何生成静态库。
我们知道静态库也称档案库,在此档案文件中实际上是收集了一系列的目标文件。这
些目标文件就是由 |
|
n****g 发帖数: 150 | 26 物理的具体不太清楚,但工程上有些方向是速度优先的,必须使用优化好的库函数,
一些专门的编译器也是非常贵的;现在大部分的数值库函数都有相应的fortran,C/C++
版本,但是C/C++版本的优化效果其实不是很理想,而且小程序体现不出来,程序大写
难免出bug;即使fortran的库函数新一些的也不是很稳定,不管是工业界还是学术界,对
稳定性要求严格的,都会用老些的版本;
至于直接用库的源代码现编译的,那就慢老牛了,当然如果对速度要求不高的话无所谓。
Johnson |
|
t****t 发帖数: 6806 | 27 好了不开玩笑.
第一, 写一个库函数, 首先要完成的是调用者的要求, 其次才是考虑节约成本. 你从头
到尾没完成调用的要求, 节约成本根本就是一句空话. 交换对象和交换对象的指针, 是
两件完全不同的事情. 库函数能做的, 是提供两个版本由调用者决定调用哪个.
第二, 回到本来的题目. 如果调用者要求交换指针, 应该是调用者自己把指针的指针传
进来, 就象你写的一样. 而不是库函数自己别出心裁, 限制只能交换指针或者"推荐"使
用指针的版本. 从根本上来说, 交换两个对象就是交换两个对象(指针也是对象之一).
除非知道对象内部的结构(即类本身有moving semantics或者specialize swap), 否则
创建一个新对象是不能避免的. |
|
s*****l 发帖数: 2041 | 28 【 以下文字转载自 Programming 讨论区 】
【 原文由 sonhill 所发表 】
在fortran里有一个库函数sh()可以调用一些command,例如sh('cp a.out a.exe'),
sh('rm -f a.out')....
有一个调用了sh的程序在Sun5.8能够compile,但是在另一个机器里compile
的时候,却说找不到这个库函数:
ld: 0711-317 ERROR: Undefined symbol: .sh
我不清楚那个机器里是什么操作系统(IBM的)。
那位知道还有那个可以执行同一功能的库函数?(就像C里面的system())
谢谢了。 |
|
k*********g 发帖数: 40 | 29 有很多类似的面试,要求在短时间内完成一个函数什么的,
不一定多难,但是很少能用库函数,或者也没有什么库函数可用。
怎么快速提高这个能力?specially,for C/C++.
语言基础还是没问题的,基本的数据结构也还熟悉。
前几天就碰到了一个问题,实现power函数,返回a的b次方。结果写的乱七八糟的,真
是受打击。。。
int pow(int a, int b)
{
}
求助~~!!
Bless ALL great offer! |
|
x*****n 发帖数: 1905 | 30 偶想用openssl的库做一个CA出来,可是在openssl的库函数说明
里面没有查到有关PKI Message的定义以及相应的操作,
我只能找到X509_REQ这样的证书请求处理函数,没有诸如证书失效
请求/应答函数,密钥失效请求/应答函数。
还请做过类似东东的大虾指教,小弟先谢过了。 |
|
j********3 发帖数: 560 | 31 我用 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字节整数,但是都没有用。
请大虾指教。多谢! |
|
B******e 发帖数: 48 | 32 其实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 | 33 小弟现在需要在FreeBSD内核(模块)函数内,要用到一个随机流函数(即每次调用随机流
函数,得到的数服从某种统计分布,比如负指数分布,几何分布,或者Pareto分布). 我
的理解,如果是在用户空间里面实现一个如此的随机流函数比较容易,利用C带的均匀分
布随机数产生器,再加上math.h里的求对数或者求幂函数log(), 和pow(),就可以产生
上述分布.但是如果在内核里面自己实现这样随机流函数(内核好像没有现成的函数),我
遇到两个麻烦,第一, math.h 和 sys/systm.h里面都定义了"log", 编译有冲
突,还有网上有人说数学库链接会有问题.第二, 能不能尽量避免在内核使用浮点数.
请教一下大家,有没有什么建议,谢谢! |
|
t******r 发帖数: 209 | 34 常看到:
配接器bind2nd用作把二元变为一元判断式,常用在标准库带的函数对象上,
如:bind2nd(equal_to(),70)
小弟有个很初级的问题,
问什么标准库带的函数对象不能直接用70初始化,如:
equal_to(70);
恳请解答,谢谢。 |
|
h**********c 发帖数: 4120 | 35 再问下去,
如果一个mfc程序,从crtexe开始,那么算managed还是不算?
整个程序,调用一个静态库函数,编到exe里了,还用动态库,crash的时候,怎么找出
从哪个函数退出来的?也可能主程序自带的函数。 |
|
h**********c 发帖数: 4120 | 36 再问下去,
如果一个mfc程序,从crtexe开始,那么算managed还是不算?
整个程序,调用一个静态库函数,编到exe里了,还用动态库,crash的时候,怎么找出
从哪个函数退出来的?也可能主程序自带的函数。 |
|
a*****e 发帖数: 1700 | 37 各位吵得好热闹,我来插一句嘴,呵呵
所谓 syntactic sugar,是指和 semantics 无关的,纯语法层面的转化
而 LINQ 可以看做是两部分,一部分是它提供的特殊语法,可以直接 desugar,变成标
准的 C# 语句,所以这部分是 syntactic sugar.
另一部分,是 LINQ 提供的库函数,这些为它的 semantics 提供了具体的实现,所以
不能称为 syntactic sugar
笼统地说 LINQ 是,或者不是 syntactic sugar,都是不准确的。包括 goodbug 引的
那片 paper,也只是说 LINQ 提供了 syntactic sugar,而不是说 LINQ 除了
syntactic sugar 就没有其它内容了。
就比如 Haskell 里面的 Monad,语法部分的 do syntax,是 syntactic sugar,但是
这个 do syntax 被 desugar 为 bind 和 return 两种函数操作,但是具体实现 bind
和 return 的语义则需要程序员(或者库函数)提供 implementati... 阅读全帖 |
|
l**********r 发帖数: 47 | 38 看到版上最近好多鼓励转专业的帖子,心中很受鼓励,想趁着这个机会问问小码农怎么
做职业规划。
国内cs本科,来美读cs Ph.D. 本人资质一般,学校都是很一般的那种。phd期间做的项
目是机器学习相关的,也上过一些比较浅的机器学习课程。本来毕业时要找机器学习相
关的工作,看周围大家都在刷题,也重点准备了刷题。但是找工作时,由于没有机器学
习方面系统的知识,除了自己用过的方法能说一些外,很多都不知道。刷题也只刷了
easy和middle的,最后也没进得了那几个大公司,在一个还算中型的软件公司做码农。
平时就做些需求类相关的开发。但是随着时间的推移,感觉需求类开发学不到很多东西
,都是用的很基础的c++, java做一些界面相关的开发,而且往往一个需求变来变去,
很耗时间,开发出来也没有什么成就感。高级的功能什么分布式,数据储存都没有涉及
。manager们也不是很尊重我们,感觉我们都是可以随时可以被替换的螺丝钉,这种感
觉很让人失落。想着自己好歹读过phd,总觉得应该多学点东西,多做点让自己觉得有成
就感的东西。换句话说,就是怎么能去一个公司核心组工作。一般这些核心组都需要什
么知识。
... 阅读全帖 |
|
m*******m 发帖数: 182 | 39
编译不检查一个函数是否定义,所以再仔细看看有没有名字写错.
如果是库函数,那有没有加对"-l"后的函数库名,还有是否设对了"-L"
目录. |
|
c*******v 发帖数: 2599 | 40 你在公司,都不许用自带的函数和包,怎么推论出的matlab/simulink的函数和包什么的
没价值呢?
你要说因为你公司不许用,所以就是没价值.那这个也说不过去阿,
GM,TOYOTA是多大的公司? 员工几十万人,我想不会比你们公司小吧!
因为硬件或者安全原因,这些公司倒是有自己的库.但也是在matlab/simulink
的基础上开发的.
所以IMO,这还是要看行业和用途.
--guvest的马甲
没价值又不是我说的,也不是我说了能算的.公司说我们就用这个外壳,不准用自带的库
函数,各种包,我也没办法啊...用什么系统也不是我们这种人说说能改变的. |
|
h***o 发帖数: 539 | 41 BBS水木清华站∶精华区
发信人: FangQ (木头虫子), 信区: MathTools
标 题: Matlab与C++接口与混合编程讨论小结(十四)
发信站: BBS 水木清华站 (Wed Nov 3 11:28:31 1999) WWW-POST
附录:Matcom C数学库函数列表(部分)
这是一个丰富的数学库,约600个函数,包括sim()函数 |
|
j*********n 发帖数: 6034 | 42 那些多胎,模板,库,api都是show off用的,就如同说换油dfbb一定
比bmw容易一样。
基本原理很简单,有些人非要弄层出不穷的东西,去抽象貌似很好用,但是缺忽略了最
基本的东西,为了适应变化而放弃exception。于是又为了适应不规则话,继
续抽象,层层想套。于是有了多胎+模板,还要人去熟记那些无聊的库函数。这些C++的
东西由于晦涩复杂,在现代语言里面逐渐被弱化。分割为OO和面向过程的语言。其实,
即使是纯C,也能做到OO。要了解这些,最好的办法是去看Java语言库函数的C语言实现。
研究这个非常有意思。只可惜,不是每个人都有上帝赐予的热情,我又相信上帝了。
怎么样,从车转一圈到上帝。扣题完毕。
以上内容基本胡扯,不要继续深究,错误百出。 |
|
N******K 发帖数: 10202 | 43 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
,
. |
|
m***l 发帖数: 264 | 44 我需要在fortran里面调用MKL的fft函数,可是老是无法使用那个DFT的库,而且也无法
编译那个库。
我用的是Compaq fortran 6.6,除了安装MKL以外,在调用库函数之前还需要设置路径
或者别的吗?有经验的麻烦回复一下,谢谢! |
|
t*****n 发帖数: 1589 | 45 错误很多怎么办? 也不能compile, 就是windows的 plain text,很多很简单的错误硬
是发现不了。
今天面世了个start-up,让我用c语言写,不能用任何库函数,写的程序都是涉及怎么不
用库函数判断array的末端,还有array和pointer区别等等。
我不是科班,自己玩用的最多是python,学c那是高中时候了,临时看了看,不管用。
干it这行必须得精通或者熟练这些东西么。
是不是我不适合做程序员,我确实不是很细心很有耐心的人,今天的面试把我打击了。 |
|
g*****u 发帖数: 298 | 46 fpos_t似乎不能作为计数器,它只是给fsetpos()用的,不能用作加减乘除吧?
几个问题:
1. typedef __int64 fpos_t;
__int64 是C standard type么?
2. 当文件超过2GB时(在linux一般文件大小限制),get(),fread()等C库函数能正常
工作么?
3. 如果我想得到一个文件的大小,但是ftell()返回类型为long,这对大文件是不够
的。大文件在linux下需要LFS支持,我应该用哪些函数来得到文件大小?不同操作系统有不同的库吧?windows和linux,unix都分别应该怎么做?
btw,double的53bits是尾数,11bit的指数部分决定double能表示的最大的数字为差不
多2^(2^10-1),大约是10^308,对于一般文件是够用了。问题是我不清楚上面的问题2,
3。那个大侠最好能发个答案,多谢了。 |
|
a****l 发帖数: 8211 | 47 其实说来说去都是库函数,各种语言的库函数本来就是很多的,最简单的,很多人可能像
不到能做个a/b是个多么美好的功能.
板。 |
|
W*******e 发帖数: 1268 | 48 现在的软件项目代码多几行少几行其实关系不大。MyEclipse, Oracle ADF很多Java
RAD工具可以根据设计图自动生成框架,比Rails的Scaffold还灵活强大。像Entity
Beans,View beans几分钟就可以完成上万行Java代码,而且几乎就是final在整个产品
生命周期中不需要修改的了。我个人感觉软件项目中最重要的是模块内的代码和设计结
构是否可靠。速度不求最快,但稳定性和可靠性要高。容易替换和扩展,便于自动测试
,要有长的生命周期。
如果说Python提供了很多库函数支持,这似乎没有什么特别优势。任何一个语言都可以
靠封装代码提供更多的函数库来减少编程量。Python没用强类型减少了编码的工作量,
这是个双刃剑,增加了runtime type error的可能性。我的经验是编译器静态检验类型
错误非常容易,在解释器里查runtime error是很花时间的。不知道Python对这类错误
有没有便利的查错方法。我个人看来,增加不必要的运行错误风险降低了代码的质量。
靠代码质量去trade编程量在商业系统中是值得小心的。自己玩玩编程问题不大。 |
|
a*****e 发帖数: 1700 | 49 如果你要问我,我会说几乎没有什么是 FP 不适合的,就连内核以及嵌入式,FPGA 等
都有 FP 的解决方案。
这里我并不是说内核或者嵌入设备去跑 FP 语言的 runtime,而是说用 FP 的工具设计
的 DSL 跑在内核和嵌入设备上。比如你可以搜一下 se4L,它的一个实现是用 Haskell
写的,被用于证明所生成的内核的正确性。
I'm a big believer in DSL. 合理设计的 DSL 能够快速完成目标 domain 的编程要求
,所需要的只是一个有效的 DSL 开发环境,FP 在这方面非常适合。就象是一套合理设
计的库函数或者框架什么的,能够大幅度提高开发效率。但是库函数的组合调用通常都
是写在源程序里,写好就不可以改动。而 DSL 则是它本身可以被分析重组,写好之后
,还可以用程序处理变换,验证性质,生成高效代码等。元语言 (meta programming)
的技术目前也在抬头,但我认为还是 DSL 更灵活,因为 meta programming 所操作的
对象还是一个 general purpose 的语言所写的程序结构,很多时候我们只需要 domai... 阅读全帖 |
|
a*****e 发帖数: 1700 | 50 如果你要问我,我会说几乎没有什么是 FP 不适合的,就连内核以及嵌入式,FPGA 等
都有 FP 的解决方案。
这里我并不是说内核或者嵌入设备去跑 FP 语言的 runtime,而是说用 FP 的工具设计
的 DSL 跑在内核和嵌入设备上。比如你可以搜一下 se4L,它的一个实现是用 Haskell
写的,被用于证明所生成的内核的正确性。
I'm a big believer in DSL. 合理设计的 DSL 能够快速完成目标 domain 的编程要求
,所需要的只是一个有效的 DSL 开发环境,FP 在这方面非常适合。就象是一套合理设
计的库函数或者框架什么的,能够大幅度提高开发效率。但是库函数的组合调用通常都
是写在源程序里,写好就不可以改动。而 DSL 则是它本身可以被分析重组,写好之后
,还可以用程序处理变换,验证性质,生成高效代码等。元语言 (meta programming)
的技术目前也在抬头,但我认为还是 DSL 更灵活,因为 meta programming 所操作的
对象还是一个 general purpose 的语言所写的程序结构,很多时候我们只需要 domai... 阅读全帖 |
|