由买买提看人间百态

topics

全部话题 - 话题: 子程序
1 2 3 4 5 下页 末页 (共5页)
p******e
发帖数: 528
1
比方说我要调用一个程序f(),这个程序使用了别人写的一的库函数,结果这个库函数
定义了一个叫A的全局变量。当我要并行的运行多个子程序f()的时候,每个子程序创立
的全局变量A互相冲突。这时候有没有办法在子程序f开始的时候告诉这个子程序说所有
在这个子程序里边产生的变量都属于一个自己独立的命名空间,这样一来不同的并行过程
直接的A就不会互相冲突了。请问这个可能吗?
g********r
发帖数: 8017
2
用别人的包,都是C写的.一个子程序自动打印到屏幕很多信息,又不好改.做起
simulation来满屏的乱字.有什么general的办
法屏蔽一个子程序的输出么?
s********n
发帖数: 26222
3
标 题: Re: 强烈建议老邢改善发包子程序
发信站: BBS 未名空间站 (Wed Sep 7 22:26:34 2011, 美东)
抱歉,这个不会开放,个人转账只能一次转给一个用户。
y****d
发帖数: 52
4
需要求一个矩阵的本征值和本征向量(eigenvalue/eigenvector),矩阵比较大,1000000*
1000000 (1百万*1百万),但有一定周期结构,并且绝大多数是0. 而且我只需要本征值最
低的10到100个结果。
各位有没有推荐的子程序? 最好是Fortran or C写的。
PS,SVD我已经试过了,奇慢。而且没有必要把所有的eigenvalue都接出来。
多谢各位!
w*******e
发帖数: 1
5
请问哪里可以找到计算associated legendre polynomial的子程序?多谢!!
y****d
发帖数: 52
6
需要求一个矩阵的本征值和本征向量(eigenvalue/eigenvector),矩阵比较大,1000000*
1000000 (1百万*1百万),但有一定周期结构,并且绝大多数是0. 而且我只需要本征值最
低的10到100个结果。
各位有没有推荐的子程序? 最好是Fortran or C写的。
PS,SVD我已经试过了,奇慢。而且没有必要把所有的eigenvalue都接出来。
多谢各位!
s***h
发帖数: 592
7
来自主题: Computation版 - 子程序加密有什么好的方法?
请大牛指教
比如给Abaqus这种有限元软件写了一个umat的子程序,
里面主要是本构方程的一些隐式计算,不想让别人知道具体内容的话怎么做比较好?
link到obj文件的话还是会被反编译出来吧
j**f
发帖数: 7403
8
来自主题: Computation版 - 弱问:FORTRAN90调用子程序问题
假如,主程序中调用了 call suba(a, b, c, na, nb, nx) 一共6个变量,
分别为REAL,INT等类型。
而子程序的动议里 subroutine suba(a,b,na,nb,nx)和主程序不对应,差一点点。
怎么样,能让系统自动的告诉我出错?好像我的程序不告诉我出错,类似的
BUG需要好长时间才能发现。怎么办呢?是要改MAKEFILE么?
多谢回答!
w*******U
发帖数: 256
9
来自主题: Computation版 - fftw如何将plan作为子程序参数?
C语言程序用到 fftw, 如何将 plan 作为参数传递给子程序?下面的调用对么?
int main()
{
void myfun(int n1, int n2, int n3, double *phys, fftw_complex *spec, fftw_
plan pf, fftw_plan pb, ...);
......
int n1=64, n2=64, n3=64;
int n3c, n3r;
n3c=n3/2+1; n3r=2*n3c;
int rank=3, n[rank];
n[0]=n1; n[1]=n2; n[2]=n3;
double *phys; fftw_complex *spec;
phys=(double*)malloc(sizeof(double)*n1*n2*n3r);
spec=(fftw_complex*)fftw_malloc(sizeof(fftw_complex)*n1*n2*n3c);
fftw_plan pf, pb;
pf=fftw_plan_dft_r2c(rank, n, phys, spec, FFTW_MEASURE);
p... 阅读全帖
y****d
发帖数: 52
10
需要求一个矩阵的本征值和本征向量(eigenvalue/eigenvector),矩阵比较大,1000000*
1000000 (1百万*1百万),但有一定周期结构,并且绝大多数是0. 而且我只需要本征值最
低的10到100个结果。
各位有没有推荐的子程序? 最好是Fortran or C写的。
PS,SVD我已经试过了,奇慢。而且没有必要把所有的eigenvalue都接出来。
多谢各位!
P**********n
发帖数: 269
11
来自主题: ChineseMed版 - 用编程序来打个比方

脚疼不医脚很奇怪么?
糖尿病足就不医脚,打胰岛素;
脚气也不医脚,吃VB。
只有在确认子程序的bug是原发bug的前提下,进子程序改bug才有意义;如果子程序
出问题只是个症状,象前面有人说的,是因为外部系统故障导致的参数失常,那么进子
程序乱改就具有极大危险性。
本来脚掌的程序是 y=3x+5; 正常情况下输入x一直是10,输出一直是35;只要输出是
35,我们就认为是健康脚
如果脚出了问题,进医院检查发现输出是65,那么可能有两个原因
1. 脚函数异变成y=6x+5了, 那么这时就得改这个子程序bug,让它恢复成3x+5;
2. x出了问题,从输入10变为20了。这时如果不去调整x,而是将子程序函数改成y=1.5x
+5, 那么表面上也能消除脚的症状,因为输出又还原成35了,但长期来看很可能就会废
了这只脚,而且没解决根本病因,更何况修改了脚函数对其它部位器官有啥影响一点都
不知道,这就是凶险。而这种凶险在现在是普遍存在的,凡是吃药好一阵,不吃药又犯,
甚至终身不能停药的,基本都属于这种情况。
我想顶楼帖就是这个意思。
实际情况中,从一个症... 阅读全帖
x********3
发帖数: 566
12
现在有一个比较大的Fortran程序,好几百个个common块被在不同组合后,被好几百个
子程序使用,现在需要改写这个程序,每次这些common块都比较麻烦,改变一个往往的
一个一个子程序找着挨个儿改。想用module封装一下,可是觉得这样做了之后觉得每个
module里就列出几十个全局变量,似乎也没有好很多。而且工作量似乎很大,因为每个
common块在不同子程序中的变量名可能不一样,比如
在子程序A: common /blk1/ v1,v2,v3
在子程序B: common /blk1/ u1,u2,u3
这样一来,觉得动作还是比较大的,不知道有没有好的办法,大家给指点一下。谢谢了
m*****i
发帖数: 2325
13
来自主题: ChineseMed版 - 用编程序来打个比方
LZ 的意思是中医的理论是
脚疼了,不要医脚。(不去理会和修改子程序的细节)
医一下脑袋就行了。 (只在最高层修改调用子程序的主程序)
严重怀疑楼主是中医黑。

这个程序非常庞大,无法把每一行都读懂。如果我们在底层研究某个子程序的某一部分
,然后对这一部分进行修改。很多时候我们明明觉得对这一部分已经分析得很透彻了,
这样改应该是没有问题的,但程序运行起来往往就会出错,在一个意想不到的地方,因
为我们修改的部分可能和某个我们没有读懂的部分有联系。但如果我们不去理会和修改
子程序的细节,只在最高层修改调用子程序的主程序,事情会简单很多,也不容易出错。
描述,我们能读懂的只是其中非常小的一部分,可以说是冰山一角。然而西医就是在这
样一知半解的认识下在细胞和分子的微观层次上对人体的局部进行修改。这样做是会出
问题的,在一个意想不到的地方。在微观层次上,一种化学药品进入人体后会发生什么
化学反应和带来什么生理变化,没有人能彻底研究清楚。药品和treatment对人体的作
用永远不会刚好是人们所设计的那样,总会有意料之外的情况发生。所以西药基本上是
用一个问题代替另一个问题,而且新的问题往往比本:... 阅读全帖
s********a
发帖数: 1447
14
当运行一个程序时
如果这个程序 调用一个子程序 子程序在memory里的frame是这样的
global variable, 然后 子程序 输入参数, 然后 返回地址, 然后 stack
linker register里面也是存返回地址的
这2个返回地址有什么不同吗?
link register里面存子程序的memory frame里的返回地址吗?
请高人指点
谢谢
b****u
发帖数: 1130
15
来自主题: Java版 - 问一个multiprocess的问题
我用python 而不是JAVA,但是这两个语言也差不多:
类似于multithread,由主线程控制子线程,主线程可以打开并运行多个子线程,控制子
线程。
那么在主程序中,运行到某语句,该语句是一个子程序,子程序是打开一个terminal,
并运行iperf -su (就是服务器端听)。然后该程序不会在这里hang住,而是接着执行
下一条语句,这条语句又是一个子程序,子程序打开一个terminal,并运行iperf -c (
就是客户端连接等等)。程序也不会在这里hang住,而是接着执行下一条语句。
大家明白我的意思了吗?如果用multithread实现很容易,但decouple不好,我不会采用
那么如果使用.batch文件,每个terminal的执行放在一个.py文件,然后
a.py &
b.py &
可能也能实现,但我不希望用这种方式。
我希望使用process,就是上述方法来实现,求帮忙
O******1
发帖数: 13088
16
来自主题: TrustInJesus版 - 无人论和有人论
呵呵,旧约里的那句“杀婴屠城”就让你们这么不淡定啊?如果你是一个程序设计员,
设计了一套程序,发现某个子程序里有个bug。你有两种选择。第一,在这个子程序中
慢慢找出这个bug,然后解决掉。另一种解决办法就是把整个子程序删掉,重新写一遍
。看来上帝当初选择了第二种方案,就这么简单。
a***e
发帖数: 1140
17
来自主题: Programming版 - static function and static variable?
用了C++一段时间了,还是没有完全弄明白。
看一个程序:
主程序:
double* obj; //只有定义。
function_sub(&obj); //调用子程序, 并把指针的地址做参量。
子程序:
static void function_sub(double **obj_p){
static double val[2]={1,2}; //为什么要static?
*obj_p=val; //让local数组返回?
}
俺不明白的是,参数 obj 只定义,没有分配内存。 当子程序调用结束时,local数组就
自动distory了,那返回的难道不是一个无效数组首地址吗? 还是因为加了static 关键
字就变成global了?
还有在这种情况子函数定义成 “static void” 有什么含义?
v**j
发帖数: 27
18
来自主题: Programming版 - 急问大牛们:关于fortran堆栈溢出
调用了几个子程序,出现了这样的问题。其中一个子程序本来应该能计算很大的规模,
现在一点点的时候就堆栈溢出了,怎么解决?
尝试着把传递的矩阵换成全局变量,但是因为它的规模需要调整,子程序里好像不能写
real A(n,n)
common A
n 为传进来的parameter型参数,所以这样也行不通,因为要盖的地方太多。
记得以前有个大牛说过关于子程序中堆栈溢出的问题,现在找不到了,还忘再次指点。
多谢了
W******r
发帖数: 789
19
来自主题: ChineseMed版 - 用编程序来打个比方
许多编过程序的人都有这样的经验。假如我们要读和修改一个别人写的程序,再假设这个程序非常庞大,无法把每一行都读懂。如果我们在底层研究某个子程序的某一部分,然后对这一部分进行修改。很多时候我们明明觉得对这一部分已经分析得很透彻了,这样改应该是没有问题的,但程序运行起来往往就会出错,在一个意想不到的地方,因为我们修改的部分可能和某个我们没有读懂的部分有联系。但如果我们不去理会和修改子程序的细节,只在最高层修改调用子程序的主程序,事情会简单很多,也不容易出错。
人体是一个非常复杂的系统,比任何一个程序都要复杂得多,远非如何数学模型所能描述,我们能读懂的只是其中非常小的一部分,可以说是冰山一角。然而西医就是在这样一知半解的认识下在细胞和分子的微观层次上对人体的局部进行修改。这样做是会出问题的,在一个意想不到的地方。在微观层次上,一种化学药品进入人体后会发生什么化学反应和带来什么生理变化,没有人能彻底研究清楚。药品和treatment对人体的作用永远不会刚好是人们所设计的那样,总会有意料之外的情况发生。所以西药基本上是用一个问题代替另一个问题,而且新的问题往往比本来要解决的问题严重许多倍,往往也很... 阅读全帖
S**********L
发帖数: 151
20
来自主题: ChineseMed版 - 用编程序来打个比方
你应该没写过大程序吧.
你要修改程序 当然要pinpoint到有bug的地方才能改好, 程序再大, 也只能这样改. 没听说改主程序可以把子程序的bug改掉的.
按你的比喻, 中医根本不找bug, 只在宏观上给你说, 一定要模块化哦, 数组引用不要越界哦. 这样的确在宏观上指导了写程序的规范, 但是根本没法修改好有问题的程序啊.

这个程序非常庞大,无法把每一行都读懂。如果我们在底层研究某个子程序的某一部分
,然后对这一部分进行修改。很多时候我们明明觉得对这一部分已经分析得很透彻了,
这样改应该是没有问题的,但程序运行起来往往就会出错,在一个意想不到的地方,因
为我们修改的部分可能和某个我们没有读懂的部分有联系。但如果我们不去理会和修改
子程序的细节,只在最高层修改调用子程序的主程序,事情会简单很多,也不容易出错。
描述,我们能读懂的只是其中非常小的一部分,可以说是冰山一角。然而西医就是在这
样一知半解的认识下在细胞和分子的微观层次上对人体的局部进行修改。这样做是会出
问题的,在一个意想不到的地方。在微观层次上,一种化学药品进入人体后会发生什么
化学反应和带来什么生理变化,没有人能彻底... 阅读全帖
m***o
发帖数: 134
21
来自主题: ChineseMed版 - 用编程序来打个比方
只能说,楼主没写过程序,最多也就上学的时候写过几个小作业。同样,楼主对医学的
理解也一样。

这个程序非常庞大,无法把每一行都读懂。如果我们在底层研究某个子程序的某一部分
,然后对这一部分进行修改。很多时候我们明明觉得对这一部分已经分析得很透彻了,
这样改应该是没有问题的,但程序运行起来往往就会出错,在一个意想不到的地方,因
为我们修改的部分可能和某个我们没有读懂的部分有联系。但如果我们不去理会和修改
子程序的细节,只在最高层修改调用子程序的主程序,事情会简单很多,也不容易出错。
描述,我们能读懂的只是其中非常小的一部分,可以说是冰山一角。然而西医就是在这
样一知半解的认识下在细胞和分子的微观层次上对人体的局部进行修改。这样做是会出
问题的,在一个意想不到的地方。在微观层次上,一种化学药品进入人体后会发生什么
化学反应和带来什么生理变化,没有人能彻底研究清楚。药品和treatment对人体的作
用永远不会刚好是人们所设计的那样,总会有意料之外的情况发生。所以西药基本上是
用一个问题代替另一个问题,而且新的问题往往比本: 来要解决的问题严重许多倍,往
往也很隐蔽,不是一下子就能看出来。
... 阅读全帖
t****a
发帖数: 1212
22
来自主题: ChineseMed版 - 用编程序来打个比方
源于归纳,经历推敲,并最终能够正确预测的才是科学。
中医的现代化,还有很长的路要走阿。

这个程序非常庞大,无法把每一行都读懂。如果我们在底层研究某个子程序的某一部分
,然后对这一部分进行修改。很多时候我们明明觉得对这一部分已经分析得很透彻了,
这样改应该是没有问题的,但程序运行起来往往就会出错,在一个意想不到的地方,因
为我们修改的部分可能和某个我们没有读懂的部分有联系。但如果我们不去理会和修改
子程序的细节,只在最高层修改调用子程序的主程序,事情会简单很多,也不容易出错。
描述,我们能读懂的只是其中非常小的一部分,可以说是冰山一角。然而西医就是在这
样一知半解的认识下在细胞和分子的微观层次上对人体的局部进行修改。这样做是会出
问题的,在一个意想不到的地方。在微观层次上,一种化学药品进入人体后会发生什么
化学反应和带来什么生理变化,没有人能彻底研究清楚。药品和treatment对人体的作
用永远不会刚好是人们所设计的那样,总会有意料之外的情况发生。所以西药基本上是
用一个问题代替另一个问题,而且新的问题往往比本: 来要解决的问题严重许多倍,往
往也很隐蔽,不是一下子就能看出来。
层的... 阅读全帖
P**********n
发帖数: 269
23
来自主题: ChineseMed版 - 用编程序来打个比方

顶楼帖子讲的道理没错,我在前面也解释过,修改子程序会带来不可预知的后果,而
且症状出在子程序病因不一定在子程序。
至于拿这个比喻挺中医贬西医,没意义;我照样能举出相反的例子来做比喻挺西医贬
中医。
五块石头说“有理”,没啥不对的。
s***e
发帖数: 911
24
来自主题: Computation版 - fortran里矩阵传递有维数限制吗?
我的一个计算涉及很大维数的矩阵操作. 其中含有一个整数参数n, 维数是该参数的
平方, dim=n^2
在所有其他参数固定的情况下, n<=17, 整个计算可以顺利进行. n=18时, 出现
segment fault错误.
对矩阵赋值是通过调用一个子程序完成的:
call MAT0(dim,LMAX1,LMAX2,a,b,f,pil1,AT0)
这个调用没有问题. 返还的sparse矩阵AT0经查没有什么异常.
之后调用另外一个子程序,
call mat_product(NSITE-2,LMAX,dim,AT0,Z0L)
目的是要对AT0进行一系列操作. 现在发现调用过程出了segment fault错误,
根本没有进入这个子程序内部.
麻烦各位帮忙参考一下, 大概可能是什么样的问题所致.
机器系统是dual opteron 260, Fedora Core 2 64, gcc-g77-3.3.3.
THX
d*******2
发帖数: 340
25
来自主题: Computation版 - 请问一个函数传递结构的初级问题
要函数返回两个值,用指针解决了,但是想用结构也试一下,试着写了一个,知道肯定不对,请那位大虾有空看一下,先谢了!
struct merit
{ double merit1;
double merit2;
} mymerit;
主程序
main()
{
function (....merit mymerit); //调用子程序
....
}
子程序
function(....merit mymerit)
{}
调用子程序那一行总有错。说expect primary-expression before mymerit. 把
mymerit前面的merit去掉的话就说parameters has incomplete type “mymerit"
请问应该怎么写?先谢了!
s***h
发帖数: 592
26
来自主题: ME版 - 关于FEA找工作的疑问
我感觉理论理解了以后,编程并不是很难,尤其现在商用有限元软件这么发达
前后处理都做的很好了,只要集中于核心的部分,比如说本构的建立,就可以了
写程序也简化到把UMAT这类基础子程序写好即可
主要还是理论得吃透,数值方法上,
固体力学上一般没什么可挖掘的了,就是隐式径向返回法
IJSS,IJP,JMPS这些顶级刊物上公布的算法也大多是牛顿法的变种
比较成熟的模型比如Chaboche或者Ohno模型,写出的子程序也就几百行,
我见过几个公司里用的UMAT子程序,
单纯从编程的角度看写得简直太粗糙了,但是很稳定,精度也不错
真正高深的理论比如结晶塑性力学之类的还没发展成熟,
在工程上也没人用,都在学术刊物上面灌水了
a******9
发帖数: 20431
27
你所有能想到的奇葩点子早就被人想过了
这个十几年前就有成品出来了
易语言的hello world
.版本 2
.程序集 程序集1
.子程序 _启动子程序, 整数型
标准输出 (, “你好,世界!”)
返回 (0)
g**********t
发帖数: 475
28
【 以下文字转载自 Programming 讨论区 】
发信人: geneticdrift (不懂微积分), 信区: Programming
标 题: 求助,如何才能将一个c++对象封装成一个函数指针。
发信站: BBS 未名空间站 (Wed Oct 31 22:30:16 2012, 美东)
我有一个似然函数,是用面向对象的方式写的。现在我想用一个别人用c语言写的子程
序来对我的函数进行优化。由于这个子程序是用c写的,只能接受一个函数指针作为参
数。由于这个子程序比较复杂,不想对其做太多改动。请问如何能把我的类对象封装成
函数指针? 用functor吗?
f********t
发帖数: 6999
29
【 以下文字转载自 PDA 讨论区 】
发信人: whyisthis (王千源——好想娶你做老婆@L@), 信区: PDA
标 题: Windows 8 / 8.1的问题是设计思路反了。
关键字: Windows 8,Windows 8.1,Metro
发信站: BBS 未名空间站 (Sat Jan 25 00:30:11 2014, 美东)
把Metro设计成以前的DoS窗口,Dos全屏幕的模式,所有的问题都解决了。也就是Metro
模式是Desktop的一个子程序,当然,如果硬件是触摸本,用户可以设置为直接进入
Metro。
Windows 8的设计思路是反的,把普通的Desktop设计成了Metro的一个子程序。这就是
Windows 8/8.1还有以后任何采用这种思路设计的操作系统一定会失败的原因。因为这
不合逻辑。
为了保持兼容,微软的这个设计思路在后续Windows中并不是能够很容易地纠正过来,
如果想纠正过来,也就是让Metro和Desktop你中有我,我中有你,Metro可以作为
Desktop一个窗口运行,Desktop可以作为Metro的一部分运行,这样系统会变得... 阅读全帖
t*******y
发帖数: 10477
30
来自主题: Fishing版 - 以渔会友,以友闯天下
我认为,LZ的主程序在Call子程序时,遇到了Critical Section。可是,当他的Entry Point
被压入堆栈后,才发现Metaphor没了。此是,他除了出Recursive的下策外,也没有别的办法了;加上他的子程序又
不是Thread Safe的,一旦Re-entry后,会产生种种不可预料的后果。所以发的贴子才有的现在这个情况。
解铃还须系铃人。LZ要钓鱼,写湿,开发多进程程序三不误的话,第一步就是把自己组装的Desktop拆了,将里面的含
铅材料砸了做Sinker;然后就是将湿的底稿用火烤干了,这样洋泾滨的味道就去得差不多了。最后,就是冤有头,债
有主,找这个Trouble Maker lct单挑。写一个充满Bug的多进程程序, 用PM的方式植到他的Computer里,让他
的喇叭失效,这样他就再不能对LZ的Mp3评头论足了。最后,还可以用DNA vs RNA以及俄语发音的办法,将lct搞得
彻底晕菜,看他还敢不敢来吃他(LaiChiTa)。。。
t***n
发帖数: 546
31
其实纵观整个物理学的发展史,都是从宏观到微观,或者到无穷大(宇宙)。宏观吃透
了,再从微观的尺度上找更本质的原因。而医学论吃透宏观还早着呢。跳过宏观直接研
究微观,很可能洋洋得意的以为发现了几百上千个原理,其实宏观上就是一个参数的问
题。人家宏观上还有好多参数还没搞明白正研究着呢。
无限细分想法是好的,但是一定要保证细分下来的东西是独立的,不能互相之间有联系
。写计算机程序叫模块化。要是每个子程序里都共用一大堆全局变量,每个子程序还由
不同的人维护,我看你怎么细分都是bug重重,最终崩溃。
其实遇到复杂的事物除了细分化以外,还可以抽象化。这正式中医走的路。
w*******6
发帖数: 1897
32
来自主题: Piebridge版 - 俺到底是不是该考虑回国?
赞,婚姻不是幸福的源泉。我觉得婚姻是另一种生活的开始,就像是一门课程,有些人
学着很快乐,有些人学着很抓狂。但是人生的程序里就是有这个子程序,并且是子程序
中重要的一部分啊。
z****e
发帖数: 54598
33
来自主题: Zhejiang版 - 关于微软重组的感想
传统db有一个最大的问题
就是结构化存储,比如你要把员工数据放到一个db里面去
那么每个员工的数据都会归类
比如身高放在同一个地方,体重放在另外一个地方
姓名放在一个地方,籍贯放在另外一个地方
结构化存储有很大好处,这个自然,是个人都明白
尤其是做报表的时候,一拉就出来了,一目了然
但是有个很大的问题,就是对于精度要求不高的数据
结构化存储带来了巨大的资源浪费,因为要管理这些数据
本身就有各种开销,比如对于每一个字段是空还是不空,这个要记录
放在哪里,要记录,这些记录就是索引,随着数据量上去
索引本身也带来了巨大的开销,那这种开销一旦大到一定程度
就变得无法接受,太大了
比如google,把网页资源存起来,这个如果结构化做起来
那所带来的开销是十分巨大的,甚至是不可接受的
那怎么办?简单,我先找个地方,存了再说
等到要用的时候,再做处理模糊查询处理
比如我要找张三的数据,那么系统会派发一堆的线程
我通俗点解释就是一个程序变成一堆子程序
然后这些子程序各自独立去寻找数据
那么张三这个关键字可能匹配到身高,也可能匹配到体重
甚至匹配到张三在某征婚网站上的广告
不管是什么,只要是张三的数据,... 阅读全帖
z****e
发帖数: 54598
34
来自主题: Zhejiang版 - 关于微软重组的感想
传统db有一个最大的问题
就是结构化存储,比如你要把员工数据放到一个db里面去
那么每个员工的数据都会归类
比如身高放在同一个地方,体重放在另外一个地方
姓名放在一个地方,籍贯放在另外一个地方
结构化存储有很大好处,这个自然,是个人都明白
尤其是做报表的时候,一拉就出来了,一目了然
但是有个很大的问题,就是对于精度要求不高的数据
结构化存储带来了巨大的资源浪费,因为要管理这些数据
本身就有各种开销,比如对于每一个字段是空还是不空,这个要记录
放在哪里,要记录,这些记录就是索引,随着数据量上去
索引本身也带来了巨大的开销,那这种开销一旦大到一定程度
就变得无法接受,太大了
比如google,把网页资源存起来,这个如果结构化做起来
那所带来的开销是十分巨大的,甚至是不可接受的
那怎么办?简单,我先找个地方,存了再说
等到要用的时候,再做处理模糊查询处理
比如我要找张三的数据,那么系统会派发一堆的线程
我通俗点解释就是一个程序变成一堆子程序
然后这些子程序各自独立去寻找数据
那么张三这个关键字可能匹配到身高,也可能匹配到体重
甚至匹配到张三在某征婚网站上的广告
不管是什么,只要是张三的数据,... 阅读全帖
z**y
发帖数: 7
35
fortan写的代码,
在主程序中定义了一个公共二维数组如下:
common /fitdata/pa(400,400)
然后在子程序中声明如下:
common /fitdata/pa(400,400)
为什么子程序中pa这个数组的输出数据和主程序中数据不一致,数量级差的超大。
调了两天了,就是搞不定,自认笨的猪头,请教各位大虾,在线急等,谢谢!
f*******8
发帖数: 3612
36
来自主题: EmergingNetworking版 - wifi还有什么发展前景么...
不好意思,先谢谢老zher。
我这么长时间没re,确实是个人原因。
有一些强大的心理惯性,一直没有机会、时间调节过来。
是这样的,原来一直有把做研究、成就等等当成生命整个价值所在的心理倾向。
(这个倾向可以说是一个心理子程序)
后来跟着wisdom版10来年,按说该超越这个倾向了。实际上是没机会从新消化这个子程
序。
所以一但在生活中再次面对这类问题是,那个要成就的子程序(就是心理习惯)
就自动运行了。惯性非常强大。即使不成功,还是有惯性。仍然导致心不安。
贴完这个问题,我发现那个惯性又开始了,不过这次我想彻底看清这个事情
(就是职业和生命的关系)把职业的定位放到一个合理的位置。
就又用了这好几个星期来看这个问题。
所谓合理的位置,可能每个人不一样。
在我现在看,任正非,乔布斯,钱伯斯,或新来的微软ceo等等人的
“把职业成就当成生命的根本”这样一个定位,就不符合我的世界观了。
下面还有,过几天再继续...
主要就是,还有十几年的工作时间,怎么选定工作,能较好地配合我的人生大目标。。。
。(可能很多入行多年的人,已经想过这问题了,别笑我:)
a*********s
发帖数: 22
37
来自主题: Java版 - 问个程序调用的问题
多线程调用同一个子程序,是不是系统为每一个调用分配临时变量?
比如说几个线程同时调用一个阶乘子程序,但是向它传送不同的数字,会
不会导致死锁?
b**********r
发帖数: 22
38
来自主题: Programming版 - 问个习惯问题
我老板说,一个文件(比如.cpp)如果超过200行就不容易读懂,所以他建议我
写程序的时候尽量写成多个子程序,基本上每个子程序都是一个独立的文件。
因为我在程序里用到了类,我以前都是一个类用两个文件,一个.h一个.cpp。可是
这个类里有好多function,这样子一个.cpp文件不可能限制在200行以内。请问
这个时候有没有什么办法把这个类的若干个function写到若干个.cpp文件里?
谢谢。
x*******r
发帖数: 6
39
来自主题: Programming版 - 请教一个排序的问题。
我的程序是fortran(77/90),程序中需要对一个很大的数组(size=1024*1024*1024)进
行排序(实际我只是要找到the Mth largest的那个数相应的数值).
我手边有Numerical Recipe的一些排序的子程序可用,我尝试用了其中的select.f(
select the Mth largest).当我的array size不是很大时(512*512*512),结果很正确
,但是数组大到size=1024*1024*1024结果就不对了。
请问:有什么排序的子程序可以给这个大尺寸的数组排序?
或者,如果有fortran mpi并行的排序程序也可以。
非常非常感谢您的指点!
p*******n
发帖数: 273
40
来自主题: Programming版 - 问一个c语言malloc的问题
在子程序中用p=(float *)malloc(sizeof(float)*80),子程序返回时,会不会自动释
放内存?.
g**********t
发帖数: 475
41
我有一个似然函数,是用面向对象的方式写的。现在我想用一个别人用c语言写的子程
序来对我的函数进行优化。由于这个子程序是用c写的,只能接受一个函数指针作为参
数。由于这个子程序比较复杂,不想对其做太多改动。请问如何能把我的类对象封装成
函数指针? 用functor吗?
g**********t
发帖数: 475
42
我有一个似然函数,是用面向对象的方式写的。现在我想用一个别人用c语言写的子程
序来对我的函数进行优化。由于这个子程序是用c写的,只能接受一个函数指针作为参
数。由于这个子程序比较复杂,不想对其做太多改动。请问如何能把我的类对象封装成
函数指针? 用functor吗?
w***g
发帖数: 5958
43
来自主题: Programming版 - 其实吧,C#是最好的语言。。。
C#刚出来的时候主要是用来做desktop GUI程序的,
web service是后来的事情了。除了pascal稍微正规复杂点,
允许子程序嵌套,其实跟C/C++是一种语言。
C++11有了lambda以后才算是有了子程序嵌套。
C/C++至今没有层次化的模块的概念,而要依靠头文件这种
极其原始低效的方法。
w***g
发帖数: 5958
44
来自主题: Programming版 - 其实吧,C#是最好的语言。。。
C#刚出来的时候主要是用来做desktop GUI程序的,
web service是后来的事情了。除了pascal稍微正规复杂点,
允许子程序嵌套,其实跟C/C++是一种语言。
C++11有了lambda以后才算是有了子程序嵌套。
C/C++至今没有层次化的模块的概念,而要依靠头文件这种
极其原始低效的方法。
m******1
发帖数: 418
45
DLL 文件拷贝在 c:Windows,并且在 VBA 子程序中加了路径。对32位Excel运行良好。
但用在64位Excel上时,尽管用寻找文件的子程序调试时能够找到DLL文件,但在运行程
序时一直显示找不到这个Fortran DLL文件.
请各位大侠指教如何解决,多谢了。
y**i
发帖数: 44
46
现在需要fsolve解一个非线性方程,单独用另一个子程序m文件定义函数,不过函数的自
变量是一个数组,数组维数我将在主文件用input赋值,就是说,我现在需要在子程序里
面不赋初值的定义一个数组,用linspace和one(n,1)都不可以,也不需要symbolic的计算
,所以不能用syms,
该如何
在线请教各位高手,在下水平低劣,问题幼稚,见笑
感谢先
w*******s
发帖数: 285
47
【 以下文字转载自 PDA 讨论区 】
发信人: whyisthis (王千源——好想娶你做老婆@L@), 信区: PDA
标 题: Windows 8 / 8.1的问题是设计思路反了。
关键字: Windows 8,Windows 8.1,Metro
发信站: BBS 未名空间站 (Sat Jan 25 00:30:11 2014, 美东)
把Metro设计成以前的DoS窗口,Dos全屏幕的模式,所有的问题都解决了。也就是Metro
模式是Desktop的一个子程序,当然,如果硬件是触摸本,用户可以设置为直接进入
Metro。
Windows 8的设计思路是反的,把普通的Desktop设计成了Metro的一个子程序。这就是
Windows 8/8.1还有以后任何采用这种思路设计的操作系统一定会失败的原因。因为这
不合逻辑。
为了保持兼容,微软的这个设计思路在后续Windows中并不是能够很容易地纠正过来,
如果想纠正过来,也就是让Metro和Desktop你中有我,我中有你,Metro可以作为
Desktop一个窗口运行,Desktop可以作为Metro的一部分运行,这样系统会变得... 阅读全帖
c******r
发帖数: 3778
48
来自主题: ChineseMed版 - 用编程序来打个比方

啥就没啥不对的?你说“修改子程序会带来不可预知的后果”。难道修改操作系统就能
够预知结果了?你学过中医,你说说,修改怎么修改操作系统来纠正子程序的错误吧。
中医是不是都是这么干的?有个问题就修改操作系统?硬性标定,这个系统只能有两个
主输出和两个主输入,5个副输出和5个副输入。一切问题都用这几个值来回套就修好了?
1 2 3 4 5 下页 末页 (共5页)