CCD和COM一样吗?

您现在的位置:>>> 正文
CCD相机与COMS相机究竟有何不同?有图有真相
CCDCMOSCCDCOMSCCDCMOS&&&4401 1www.&
关注本网官方微信 随时阅权威资讯
全年征稿 / 资讯合作
联系邮箱:
版权与免责声明
凡本网注明“来源:中国化工仪器网”的所有作品,版权均属于中国化工仪器网,转载请必须注明中国化工仪器网,,违反者本网将追究相关法律责任。
本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
随着生活水平不断提高,人们对食品的要求不再停
特种设备数量与日俱增,内蒙古自治区特种设备检验院不断完善网上服务功能,运用“互联网
近日,国务院食品安全办正式发文:将南通市列为第三批国家食品安全城市创建试点城市。年
日前,为提高我国杂交水稻制种水平,促进种业健康发展,保障国家粮食安全,发改委原则同High Speed Filter Wheels
Color Filter Wheels
FLI Travels to Namibia Africa
ProLine Arctic Installation
Quick Links
Chart of CCD Sizes
CCD Attributes Chart
PL16803 Review
Color Filter Wheel Specifications
Astronomy Brochure
Life Science Brochure
2011 AAIC Article
Astronomy 127fli
Haynes Article
Rhemann Article
Astronomy Technology Today
Namibia Article
Namibia Skies Poster
Atlas Focuser Review
High Speed Filter Wheels
Life Science CCD Comparison
FLI Customer ListCCD的大小比例跟相片像素的比例一样吗?_百度知道
CCD的大小比例跟相片像素的比例一样吗?
提问者采纳
CCD越大,有的却相反,照片的画质就越高(当然要排除因为科技的影响,拿5年前的相机和今年刚产的相机比科技含量不一样,CCD很小不一样,但是相片像素很好。有的相机CCD很大。通常情况下,画质也不好说是哪个好,而照出来的照片像素越低,但是拍出来照片的像素并不是很高
其他类似问题
为您推荐:
ccd的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Refer to: l
Hi ankushkumar,
I find a solution to your error. And the solution is below.
In Visual Studio go to Tools/Options then Project and Solutions/Build and Run section. You have a drop down box for increasing build verbosity that will help you reproduce what command is causing the problem.
With MSbuild on the command line you can use /verbosity:&level&
q[uiet], m[inimal],n[ormal], d[etailed], and diag[nostic]
I’m not sure the solution can also help you. If it can not work for you, please check you code again since you there exist many differences between vc++6.0 and vc++2013. Migrating is a hard thing, please feel free to let me know if you have any other question.
Ctrl+M,L: 将所有过程设置为相同的隐藏或展开状态
CTRL + DELETE 删除至词尾
CTRL + BACKSPACE 删除至词头
Ctrl+Shift+L: 删除当前行
Ctrl+K+Crtr+C: 注释选定内容
Ctrl+K+Crtr+U: 取消选定注释内容
F12 转到定义
CTRL + F12 转到声明
Shift+F12 查找所有引用
CTRL + -向后定位
CTRL + SHIFT + -向前定位
F5: 启动调试
Ctrl+F5: 开始执行(不调试)
Shift+F5: 停止调试
Ctrl+Shift+F5: 重启调试
F9: 切换断点
Ctrl+F9: 启用/停止断点
Ctrl+Shift+F9: 删除全部断点
F10: 逐过程
Ctrl+F10: 运行到光标处
F11: 逐语句
CTRL + U转小写
CTRL + SHIFT + U转大写
CTRL + TAB下一个文档窗口
CTRL + SHIFT + TAB上一个文档窗口
CTRL + F4关闭文档窗口
Ctrl +C, 再Ctrl+V 复制一行,不需要鼠标选中,只要光标定位在改行即可
Ctrl +X, 再Ctrl+V 剪贴一行
Visual Studio 快捷键设置:
工具 -& 环境 –& 键盘 -& 显示命令包含 (输入如: 转到头文件)-& 新建快捷键
———————————————
VS2010灵活运用快捷操作功能
1,Visual Studio 2008自带的1000多个 Windows 系统使用的各种图标、光标和动画文件
在Visual Studio 2008的安装目录下,
\Microsoft Visual Studio 9.0\Common7\VS2008ImageLibrary\2052文件夹下面,有一个VS2008ImageLibrary.zip,这个文件里面将常用的Windows系统图标、光标和动画文件集中到了一起。包括Office、Win9x、WinVista和WinXP等系统使用的,可以免费使用哦。
2,删除多余的using指令,并且排序
当我们新一个类的时候,Visual Studio 会将常用的命名空间using在类的头部。但是在我们写完一个类的时候,有些using是多余的,删除多余的using,再排一下序,可以使代码看起来更清晰。Visual Studio 2008 已经为我们做好了这一切。在代码编辑区点击右键,可以看到”组织 using”菜单,这就是我们需要的了。
3,复制或删除一行代码时,不用先选择它
如果你想复制一行代码,你只需要简单的按CTRL+c拷贝,然后按CTRL+v粘贴这行就可以了,而不需要选择整行的代码。如果你想删除一行代码,只需按CTRL+x就可以了。
4,取代其他编辑器里Ctrl+F的方便的增量查找
用过ultraedit会对那两个上下搜索按钮印象深刻,Visual studio里有更厉害的。
操作方法:
1).按Ctrl+I键;
2).键入你要搜索的文本。注意:这时你会看到光标跳至第一个匹配的地方,匹配的文本高亮显示;
3).再次按下Ctrl+I键,光标将跳至下一个匹配的文本;
4).按Ctrl+Shift+I可向后搜索;
5).要停止搜索,按ESC键;
5,如何在编辑器中进行框式选择
操作方法:
你是否知道VS提供了两种不同的选择模型:流式和框式吗?
大家应该都熟悉流式选择模型了,只要使用Shift+方向键即可(或者使用鼠标进行选择)。
框式选择则允许你同时对航和列进行选择。只要同时按下Shift+Alt+方向键,你就了解它的不同之处了。剪切,拷贝,粘贴,这些功能都能使用,只是需要记住从哪里开始选择的。啊,让我想起了那段做测试时的时光。
备注:也可以使用鼠标+Alt键完成该操作。前两天我还遇到该提示的一个有意思的用法。有时候我们拷贝网上的文章中的代码时会将行号一起拷进来,使用框式选择可以只选择行号部分,将其删除。
6,如何使用快捷键在当前代码行的上面或下面插入一行(推荐,很实用)
按下Ctrl+Enter会在上面插入一个空行,Ctrl+Shift+Enter则会在下面插入一个空行。光标会移至新行的开始处。
备注:这是我非常喜欢的一个快捷键,如果不用这个,则需要使用Home或End,然后使用方向键,再使用回车才能达到上面的效果。
7,安装之后,将您的IDE设置恢复到默认设置
如果IDE的设置在任何先前发布的版本中做了更改,它们都应该被恢复到默认设置。可以在Visual Studio 2008中点击菜单 Tools & Import and Export Settings… & Reset all settings,此外还有一些Import和Export的选项可用。
8,通过按”tab”两次插入代码块
操作步骤:
在编辑的中输入代码片段,比如”for”
在这个状态下,按两次”tab”键,将会插入代码块,如下图所示
此时你可以把第一”i”改成”j”,然后按Tab键,则所有的变量都变成了”j”。
备注:这样既快又不容易语法出错。
9,使用Ctrl+Tab打开IDE的导航,获得鸟瞰视图
同时在Visual Studio中导航到所有打开的文件和工具窗体
按”Ctrl+Tab”键,打开IDE导航窗口,按住Ctrl键,同时用方向键或鼠标选中一个文件或工具窗体来激活。
备注:这时最好不要松开”Ctrl+Tab”,按方向键看鸟瞰图,全部松开后就定位到需要的文件或工具窗体,说实在的,这窗口挺酷的。
10,查找匹配的标记
某些标识总是成对出现。例如,”{“标识必须用对应的”}”标识关闭。虽然你点击一个{ 和它匹配的}就会高亮显示,但是如果代码过长的话就不好找了,同样,编译器指示符”#region”必须有对应的”#endregion”指示符。当导航你的代码时,你有时需要查找对应的标识。通过按Ctrl-]你可以这样做。这个快捷键只有当光标在这些标识符的任何一个的下面时才起作用,它会立即跳转到对应的标识符而不管它是开的或闭的标识。
如果你想显亮两个匹配的标识之间的所有代码时,按Ctrl-Shift-]显亮整个块,并移动光标到开的标识处。这个快捷键只有当光标在任意的标识的下面时才起作用(如光标在区域内它就不会起作用了)
11.如果你想临时想禁用一段代码,你可以把这段代码注释掉,方法是:先选择这段代码,然后CTRL+k+c(按住CTRL键不放,然后,按一下k键,再按一下c键),见(图5)(图6)。使用CTRL+k+u可以取消注释
12 – 使用CTRL+n或CTRL+SHIFT+a创建新项
13 使用CTRL+空格进行自动完成
Shift+Alt+Enter: 切换全屏编辑
Ctrl+m+Crtr+o折叠所有大纲
Ctrl+M+Crtr+P: 停止大纲显示
Ctrl+K+Crtr+C: 注释选定内容
Ctrl+K+Crtr+U: 取消选定注释内容
Ctrl+J : 列出成员 智能感知
Ctrl+B,T / Ctrl+K,K: 切换书签开关
Ctrl+B,N / Ctrl+K,N: 移动到下一书签
Ctrl+B,P: 移动到上一书签
Ctrl+B,C: 清除全部标签
Ctrl+I: 渐进式搜索
Ctrl+Shift+I: 反向渐进式搜索
Ctrl+F: 查找
Ctrl+Shift+F: 在文件中查找
F3: 查找下一个
Shift+F3: 查找上一个
Ctrl+H: 替换
Ctrl+Shift+H: 在文件中替换
Alt+F12: 查找符号(列出所有查找结果)
Ctrl+Shift+V: 剪贴板循环
Ctrl+左右箭头键: 一次可以移动一个单词
Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。
Ctrl+Shift+L: 删除当前行
Ctrl+M,M: 隐藏或展开当前嵌套的折叠状态
Ctrl+M,L: 将所有过程设置为相同的隐藏或展开状态
Ctrl+E,S: 查看空白
Ctrl+E,W: 自动换行
Ctrl+G: 转到指定行
Shift+Alt+箭头键: 选择矩形文本
Alt+鼠标左按钮: 选择矩形文本
Ctrl+Shift+U: 全部变为大写
Ctrl+U: 全部变为小写代码快捷键
Ctrl+Shift+空格键 / Ctrl+K,P: 参数信息
Ctrl+K,I: 快速信息
Ctrl+E,U / Ctrl+K,U: 取消选定注释内容
Ctrl+K,M: 生成方法存根
Ctrl+K,X: 插入代码段
Ctrl+K,S: 插入外侧代码
F12: 转到所调用过程或变量的定义窗口快捷键
Ctrl+W,W: 浏览器窗口
Ctrl+W,S: 解决方案管理器
Ctrl+W,C: 类视图
Ctrl+W,E: 错误列表
Ctrl+W,O: 输出视图
trl+W,P: 属性窗口
Ctrl+W,T: 任务列表
Ctrl+W,X: 工具箱
Ctrl+W,B: 书签窗口
Ctrl+W,U: 文档大纲
Ctrl+D,B: 断点窗口
Ctrl+D,I: 即时窗口
Ctrl+Tab: 活动窗体切换
Ctrl+Shift+N: 新建项目
Ctrl+Shift+O: 打开项目
Ctrl+Shift+S: 全部保存
Shift+Alt+C: 新建类
Ctrl+Shift+A: 新建项
Shift+Alt+Enter: 切换全屏编辑
Ctrl+B,T / Ctrl+K,K: 切换书签开关
Ctrl+B,N / Ctrl+K,N: 移动到下一书签
Ctrl+B,P: 移动到上一书签
Ctrl+B,C: 清除全部标签
Ctrl+I: 渐进式搜索
Ctrl+Shift+I: 反向渐进式搜索
Ctrl+F: 查找
Ctrl+Shift+F: 在文件中查找
F3: 查找下一个
Shift+F3: 查找上一个
Ctrl+H: 替换
Ctrl+Shift+H: 在文件中替换
Alt+F12: 查找符号(列出所有查找结果)
Ctrl+Shift+V: 剪贴板循环
Ctrl+左右箭头键: 一次可以移动一个单词
Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。
Ctrl+Shift+L: 删除当前行
Ctrl+M,M: 隐藏或展开当前嵌套的折叠状态
Ctrl+M,L: 将所有过程设置为相同的隐藏或展开状态
Ctrl+M,P: 停止大纲显示
Ctrl+E,S: 查看空白
Ctrl+E,W: 自动换行
Ctrl+G: 转到指定行
Shift+Alt+箭头键: 选择矩形文本
Alt+鼠标左按钮: 选择矩形文本
Ctrl+Shift+U: 全部变为大写
Ctrl+U: 全部变为小写
doxygen注释块
doxygen注释块其实就是在C”C++注释块的基础添加一些额外标识, 使doxygen把它识别出来, 并将它组织到生成的文档中去。
在每个代码项中都可以有两类描述, 这两类描述将在文档中格式化在一起: 一种就是brief描述, 另一种就是detailed。 两种都是可选的,但不能同时没有。
顾名思义, 简述(brief)就是在一行内简述地描述。而详细描述(detailed description)则提供更长, 更详细的文档。
在doxygen中, 有多种方法将注释块标识成详细描述:
你可以使用JavaDoc风格,即在C风格注释块开始使用两个星号’*’, 就像这样:
* … 描述 …
或者你使用Qt风格代码注释,即在C风格注释块开始处添加一个叹号’!’:
* … 描述 …
注释块中间的星号是可选, 所以将注释块写成:
… 描述 …
同样也是有效的.
第三种方法就是使用连续两个以上C++注释行所组成的注释块,而每个注释行开始处要多写一个斜杠或写一个叹号。像下行这样:
/// … 描述 …
//!… 描述 …
一些人喜欢使他们的注释块在文档中显得更为显目,所以你也可以这么做:
/////////////////////////////////////////////////
/// … 描述 …
/////////////////////////////////////////////////
简述同样也可以同种写法:
一种是在一个doxygen注释块中使用 . 这个命令只对当前一个文字段有效, 所以详细描述应该与之间隔一个空行.
/*! “brief 这里是简要描述.
这里仍然是简要描述.
* 详细描述从这里开始.
如果在doxygen配置文件将设置成YES。则JavaDoc风格将注释块中的第一个句子视为简要描述, 这个句子可以以句号’.’、空格或者空行来结束:
/** 这里是简述, 并由句号结束. 详细描述从这里
这个功能同样多行C++行注释段中有效:
/// 这里是简述, 并由句号结束. 详细描述从这里
/// 开始..
第三种方法就是详细描述注释段紧跟在一行C++注释段后面,至多隔一个空行, 如下面两个例子:
/** 详细描述. */
//! 详细描述
//! 从这里开始.
注意最后一个例子, 例子那个空行是用来分隔简述注释段和详细描述段的, 不能去掉.而且JAVADOC_AUTOBRIEF不应该被设置成YES.
看上去doxygen是相当富有弹性, 但下面的例子是非法的:
//! 这个简述因为是多行的
//! 会被认为是详细描述..
/*! 而这里则是另外的详细描述.
因为doxygen只允许一个简要和一个详细描述。
此外, 如果在一个代码项的声明之前有简要描述而且在其定义之前也有简要描述, 那么doxygen只使用声明之前的描述。而如果详细描述出现了同样的情况, doxygen则会使用定义之前的描述, 另外的描述会被忽略掉。
这里有一个使用Qt风格的C++代码:
//! A test class.
A more elaborate class description.
class Test
//! An enum.
/*! More detailed enum description. */
enum TEnum {
TVal1, /*!& Enum value TVal1. */
TVal2, /*!& Enum value TVal2. */
TVal3 /*!& Enum value TVal3. */
//! Enum pointer.
/*! Details. */
//! Enum variable.
/*! Details. */
//! A constructor.
A more elaborate description of the constructor.
//! A destructor.
A more elaborate description of the destructor.
//! A normal member taking two arguments and returning an integer value.
“param a an integer argument.
“param s a constant character pointer.
“return The test results
“sa Test(), ~Test(), testMeToo() and publicVar()
int testMe(int a,const char *s);
//! A pure virtual member.
“sa testMe()
“param c1 the first argument.
“param c2 the second argument.
virtual void testMeToo(char c1,char c2) = 0;
//! A public variable.
int publicV
//! A function variable.
int (*handler)(int a,int b);
点击查看doxygen产生的HTML文档.
只有一行的注释段包含的是简述, 而多行的注释段则包含的是详细描述.
简要描述可以被用来进行class、namespace或者文件的成员描述, 被以较小的斜体字型显示出来。(这种描述可以通过将设置成NO来隐藏。)默认情况下,简要描述会被显示成详细描述的第一个句子。(这同样可以通过将设置成NO来屏蔽。)在Qt风格中, 两种描述都是可选的。
默认情况下, JavaDoc风格的注释段和Qt风格的注释段的行为是相同的。但这样, 就不符合JavaDoc标准, 注释段的第一个句应该自动识别为简要描述。你应该设置yly YES, 来启用这个功能。如果你设置了这个选项并想在句子中间放置一个句号, 你应该在后面添加一个反斜杠和一个空格. 就像下面的例子一样:
/** Brief description (e.g.” using only a few words). Details follow. */
Here is the same piece of code as shown above, this time documented using the JavaDoc style and
set to YES:
* A test class. A more elaborate class description.
class Test
* An enum.
* More detailed enum description.
enum TEnum {
TVal1, /**& enum value TVal1. */
TVal2, /**& enum value TVal2. */
TVal3 /**& enum value TVal3. */
*enumPtr, /**& enum pointer. Details. */
enumV /**& enum variable. Details. */
* A constructor.
* A more elaborate description of the constructor.
* A destructor.
* A more elaborate description of the destructor.
* a normal member taking two arguments and returning an integer value.
* @param a an integer argument.
* @param s a constant character pointer.
* @see Test()
* @see ~Test()
* @see testMeToo()
* @see publicVar()
* @return The test results
int testMe(int a,const char *s);
* A pure virtual member.
* @see testMe()
* @param c1 the first argument.
* @param c2 the second argument.
virtual void testMeToo(char c1,char c2) = 0;
* a public variable.
* Details.
int publicV
* a function variable.
* Details.
int (*handler)(int a,int b);
点击查看doxygen产生的HTML文档.
不像其它的文档系统 , doxygen允许在代码项的定义之前面放置成员(包括全局函数)的注释。这种方法可以在源文件中进行文档注释工作。这就是使得头文件可以比较简洁, 使代码的实现人员更容易阅读。比较折中的方案就是在声明的地方添加简要描述, 在实现的地方添加详细描述。
在成员后面放置文档
如果你想对文件、结构体、联合体、类或者枚举的成员进行文档注释的话, 并且要在成员中间添加注释, 而这些注释往往都是在每个成员后面。为此, 你可以使用在注释段中使用'&‘标识
Here are some examples:
/*!& Detailed description after the member */
This block can be used to put a Qt style detailed documentation block after a member. Other ways to do the same are:
/**& Detailed description after the member */
//!& Detailed description after the member
///& Detailed description after the member
Most often one only wants to put a brief description after a member. This is done as follows:
//!& Brief description after the member
///& Brief description after the member
Note that these blocks have the same structure and meaning as the special comment blocks in the previous section only the & indicates that the member is located in front of the block instead of after the block.
Here is an example of the use of these comment blocks:
/*! A test class */
class Test
/** An enum type.
* The documentation block cannot be put after the enum!
enum EnumType
int EVal1,
/**& enum value 1 */
/**& enum value 2 */
void member();
//!& a member function.
protected:
/*!& an integer value */
点击查看doxygen产生的HTML文档.
这种注释方法只能在成员和参数中使用。它们不能用在描述文件、类、联合体、名字空间和枚举本身。此外, 在下一节提到的结构化命令(如”class)在这种注释段中是无效的。
在其它地方进行注释
虽然我们一般是在声明和定义的前面添加文档注释块, 但也许出于某种情况需要将文档放在其它什么位置上。比如我们需要编写一段实际上不存在的文件的描述。因此, Doxygen允许将文档放置在任何位置。(除了在函数体内或在一个普通的注释段)
为了达到这种目的, 你唯一要做的就是在注释段中使用结构化命令。
结构化命令(就像其它命令)由一个反斜杠(“), 或 JavaDoc风格中使用的@来做开头, 后面紧跟着命令名字和一些参数。例如, 你想注释一个名为Test的类,如下例:
/*! “class Test
“brief A test class.
A more detailed class description.
命令”class被用来指示代码段中包含着关于Test类的文档.其它的结构化命令有:
“struct生成C结构的文档.
“union生成联合体的文档.
“enum生成枚举的文档.
“fn生成函数的文档.
“var生成变量或typedef或枚举值的文档.
“def生成#define定义的文档.
“file生成关于一个文件的文档.
“namespace生成名字空间的文档.
“package生成Java包的文档.
“interface生成IDL接口的文档.
参看得到更多关于这些命令或其它命令的详细信息.
对C++类的成员进行文档注释时, 必须对类本身进行文档注释。这同样对名字空间有效。要对全局函数、typedef、枚举或宏定义进行文档注释, 则必须先对包含它们的文件进行文档(这通常是头文件).
再重复一下, 因为它经常被忘记: 如果要对全局项目(如:函数、typedefs、枚举或宏等), 你必须必须对定义它们的文件进行文档注释。换一句话, 你至少在文件写下
/*! “file */
/** @file */
这样的注释.
下面是一个名为structcmd.h头文件的例子, 里面包含了使用结构化命令的例子:
/*! “file structcmd.h
“brief A Documented file.
/*! “def MAX(a,b)
“brief A macro that returns the maximum of “a a and “a b.
/*! “var typedef unsigned int UINT32
“brief A type definition for a .
/*! “var int errno
“brief Contains the last error code.
“warning Not thread safe!
/*! “fn int open(const char *pathname,int flags)
“brief Opens a file descriptor.
“param pathname The name of the descriptor.
“param flags Opening flags.
/*! “fn int close(int fd)
“brief Closes the file descriptor “a fd.
“param fd The descriptor to close.
/*! “fn size_t write(int fd,const char *buf, size_t count)
“brief Writes “a count bytes from “a buf to the filedescriptor “a fd.
“param fd The descriptor to write to.
“param buf The data buffer to write.
“param count The number of bytes to write.
/*! “fn int read(int fd,char *buf,size_t count)
“brief Read bytes from a file descriptor.
“param fd The descriptor to read from.
“param buf The buffer to read into.
“param count The number of bytes to read.
#define MAX(a,b) (((a)&(b))?(a):(b))
typedef unsigned int UINT32;
int open(const char *,int);
int close(int);
size_t write(int,const char *, size_t);
int read(int,char *,size_t);
点击查看doxygen产生的HTML文档.
因为例子中的每个注释都包含了结构化命令, 所以所有的注释块都可以移动到其它的地方, 而不会对生成的文档产生影响。这种方法的坏处是当原型发生了改变 , 你不得不改变结构化命令的参数。因此, 在使用它们之前, 应该认真考虑一下是否真正需要使用它们。
Doxygen is the de facto standard tool for generating documentation from annotated C++ sources, but it also supports other popular programming languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl, and to some extent D.
Doxygen can help you in three ways:
It can generate an on-line documentation browser (in HTML) and/or an off-line reference manual (in ) from a set of documented source files. There is also support for generating output in RTF (MS-Word), PostScript, hyperlinked PDF, compressed HTML, and Unix man pages. The documentation is extracted directly from the sources, which makes it much easier to keep the documentation consistent with the source code.
doxygen to extract the code structure from undocumented source files. This is very useful to quickly find your way in large source distributions. Doxygen can also visualize the relations between the various elements by means of include dependency graphs, inheritance diagrams, and collaboration diagrams, which are all generated automatically.
You can also use doxygen for creating normal documentation (as I did for the doxygen user manual and web-site).
Doxygen is developed under Mac OS X and Linux, but is set-up to be highly portable. As a result, it runs on most other Unix flavors as well. Furthermore, executables for Windows are available.

我要回帖

更多关于 tv.ccdaren.com 的文章

 

随机推荐