Lazarus - IDE的绝对强者

仅仅用于软件推荐,不适合发求软件或软件使用问题方面的贴子
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

Lazarus - IDE的绝对强者

#1

帖子 stlxv » 2007-01-28 11:46

用过delphi吗?至少听说过吧!在我心中,它可是啥都能干的简单的开发工具(从驱动程序一直到高级ERM都能完成)呀!
还在用Kylix吗?人家borland早把kylix扔了!

你是否听说过lazarus呢?????它是一款freepascal的开源ide,相当棒!它使用LCL类库,根VCL几乎一样,不仅如此,界面也跟经典的delphi基本一样。LCL根VCL一样,包揽了从基本应用到网络到数据库等等各个方面的功能,而且跨平台,只要你不编写平台专用代码,你只需要针对不同平台进行编译后就可以去别的平台运行!

freepascal是什么????freepascal是免费开源的编译器,虽然历史比不上gpc,但是功能绝对强大,而且跨了几乎所有能跨的平台,它兼容传统pascal、标准object pascal、delphi的object pascal,同时,它还支持自己object pascal(一般不必考虑这些细节,用到专用语法的话,只需通过一个编译指令或编译开关很容易地指定)。而且,它编译出来的代码效率极高。


lazarus可以在www.lazarus.freepascal.org下载,freepascal源里有,不过版本太低,不支持最新的lazarus,不过lazarus的下载页面已经包含了整套的最新freepascal的deb包了。

代码: 全选

Free Pascal Compiler version 2.0.4 [2006/08/22] for i386
Copyright (c) 1993-2006 by Florian Klaempfl
/usr/lib/fpc/2.0.4/ppc386 [options] <inputfile> [options]
put + after a boolean switch option to enable it, - to disable it
  -a     the compiler doesn't delete the generated assembler file
      -al        list sourcecode lines in assembler file
      -an        list node info in assembler file
      -ap        use pipes instead of creating temporary assembler files
      -ar        list register allocation/release info in assembler file
      -at        list temp allocation/release info in assembler file
  -A<x>  output format:
      -Adefault  use default assembler
      -Aas       assemble using GNU AS
      -Anasmcoff coff (Go32v2) file using Nasm
      -Anasmelf  elf32 (Linux) file using Nasm
      -Anasmwin32Win32 object file using Nasm
      -AnasmwdosxWin32/WDOSX object file using Nasm
      -Awasm     obj file using Wasm (Watcom)
      -Anasmobj  obj file using Nasm
      -Amasm     obj file using Masm (Microsoft)
      -Atasm     obj file using Tasm (Borland)
      -Aelf      elf32 (Linux) using internal writer
      -Acoff     coff (Go32v2) using internal writer
      -Apecoff   pecoff (Win32) using internal writer
  -b     generate browser info
      -bl        generate local symbol info
  -B     build all modules
  -C<x>  code generation options:
      -Cc<x>     set default calling convention to <x>
      -CD        create also dynamic library (not supported)
      -Ce        Compilation with emulated floating point opcodes
      -Cf<x>     Select fpu instruction set to use, see fpc -i for possible values
      -Cg        Generate PIC code
      -Ch<n>     <n> bytes heap (between 1023 and 67107840)
      -Ci        IO-checking
      -Cn        omit linking stage
      -Co        check overflow of integer operations
      -Cp<x>     select instruction set, see fpc -i for possible values
      -Cr        range checking
      -CR        verify object method call validity
      -Cs<n>     set stack size to <n>
      -Ct        stack checking
      -CX        create also smartlinked library
  -d<x>  defines the symbol <x>
  -D     generate a DEF file
      -Dd<x>     set description to <x>
      -Dv<x>     set DLL version to <x>
  -e<x>  set path to executable
  -E     same as -Cn
  -F<x>  set file names and paths:
      -Fa<x>[,y] for a program load first units <x> and [y] before uses is parsed
      -Fc<x>     sets input codepage to <x>
      -FD<x>     sets the directory where to search for compiler utilities
      -Fe<x>     redirect error output to <x>
      -FE<x>     set exe/unit output path to <x>
      -Fi<x>     adds <x> to include path
      -Fl<x>     adds <x> to library path
      -FL<x>     uses <x> as dynamic linker
      -Fo<x>     adds <x> to object path
      -Fr<x>     load error message file <x>
      -Fu<x>     adds <x> to unit path
      -FU<x>     set unit output path to <x>, overrides -FE
  -g     generate debugger information:
      -gc        generate checks for pointers
      -gd        use dbx
      -gg        use gsym
      -gh        use heap trace unit (for memory leak debugging)
      -gl        use line info unit to show more info for backtraces
      -gv        generates programs traceable with valgrind
      -gw        generate dwarf debugging info
  -i     information
      -iD        return compiler date
      -iV        return compiler version
      -iW        return full compiler version
      -iSO       return compiler OS
      -iSP       return compiler processor
      -iTO       return target OS
      -iTP       return target processor
  -I<x>  adds <x> to include path
  -k<x>  Pass <x> to the linker
  -l     write logo
  -M<x>  set language mode to <x>
      -Mfpc      free pascal dialect (default)
      -Mobjfpc   switch some Delphi 2 extensions on
      -Mdelphi   tries to be Delphi compatible
      -Mtp       tries to be TP/BP 7.0 compatible
      -Mgpc      tries to be gpc compatible
      -Mmacpas   tries to be compatible to the macintosh pascal dialects
  -n     don't read the default config file
  -o<x>  change the name of the executable produced to <x>
  -O<x>  optimizations:
      -Oa        <type>=<values> set alignment
      -Og        generate smaller code
      -OG        generate faster code (default)
      -Or        keep certain variables in registers
      -Ou        enable uncertain optimizations (see docs)
      -O1        level 1 optimizations (quick optimizations)
      -O2        level 2 optimizations (-O1 + slower optimizations)
      -O3        level 3 optimizations (-O2 repeatedly, max 5 times)
      -Op<x>     target processor:
         -Op1       set target processor to 386/486
         -Op2       set target processor to Pentium/PentiumMMX (tm)
         -Op3       set target processor to PPro/PII/c6x86/K6 (tm)
         -Op4       set target processor to Pentium 4 (tm)
         -Op5       set target processor to Pentium M (tm)
  -pg    generate profile code for gprof (defines FPC_PROFILE)
  -R<x>  assembler reading style:
      -Rdefault  use default assembler
      -Ratt      read AT&T style assembler
      -Rintel    read Intel style assembler
  -S<x>  syntax options:
      -S2        same as -Mobjfpc
      -Sc        supports operators like C (*=,+=,/= and -=)
      -Sa        include assertion code.
      -Sd        same as -Mdelphi
      -Se<x>     error options. <x> is a combination of the following:
         <n> : compiler stops after the <n> errors (default is 1)
         w : compiler stops also after warnings
         n : compiler stops also after notes
         h : compiler stops also after hints
      -Sg        allow LABEL and GOTO
      -Sh        Use ansistrings
      -Si        support C++ styled INLINE
      -Sk        load fpcylix unit
      -SI<x>     set interface style to <x>
         -SIcom     COM compatible interface (default)
         -SIcorba   CORBA compatible interface
      -Sm        support macros like C (global)
      -So        same as -Mtp
      -Sp        same as -Mgpc
      -Ss        constructor name must be init (destructor must be done)
      -St        allow static keyword in objects
  -s     don't call assembler and linker
      -sh        Generate script to link on host
      -st        Generate script to link on target
      -sr        Skip register allocation phase (use with -alr)
  -T<x>  Target operating system:
      -Temx      OS/2 via EMX (including EMX/RSX extender)
      -Tfreebsd  FreeBSD
      -Tgo32v2   Version 2 of DJ Delorie DOS extender
      -Tlinux    Linux
      -Tnetbsd   NetBSD
      -Tnetware  Novell Netware Module (clib)
      -Tnetwlibc Novell Netware Module (libc)
      -Topenbsd  OpenBSD
      -Tos2      OS/2 / eComStation
      -Tsunos    SunOS/Solaris
      -Twatcom   Watcom compatible DOS extender
      -Twdosx    WDOSX DOS extender
      -Twin32    Windows 32 Bit
  -u<x>  undefines the symbol <x>
  -U     unit options:
      -Un        don't check the unit name
      -Ur        generate release unit files
      -Us        compile a system unit
  -v<x>  Be verbose. <x> is a combination of the following letters:
      e : Show errors (default)       0 : Show nothing (except errors)
      w : Show warnings               u : Show unit info
      n : Show notes                  t : Show tried/used files
      h : Show hints                  c : Show conditionals
      i : Show general info           d : Show debug info
      l : Show linenumbers            r : Rhide/GCC compatibility mode
      a : Show everything             x : Executable info (Win32 only)
      b : Write file names messages with full path
      v : write fpcdebug.txt with     p : Write tree.log with parse tree
          lots of debugging info
  -W<x>  Win32-like target options
      -WB        Create a relocatable image
      -WB<x>     Set Image base to Hexadecimal <x> value
      -WC        Specify console type application
      -WD        Use DEFFILE to export functions of DLL or EXE
      -WF        Specify full-screen type application (OS/2 only)
      -WG        Specify graphic type application
      -WN        Do not generate relocation code (necessary for debugging)
      -WR        Generate relocation code
  -X     executable options:
      -Xc        pass --shared to the linker (Unix only)
      -Xd        don't use standard library search path (needed for cross compile)
      -XD        try to link units dynamic          (defines FPC_LINK_DYNAMIC)
      -Xm        generate link map
      -XM<x>     set the name of the 'main' program routine (default is 'main')
      -XP<x>     prepend the binutils names with the prefix <x>
      -Xr<x>     set library search path to <x> (needed for cross compile)
      -Xs        strip all symbols from executable
      -XS        try to link units static (default) (defines FPC_LINK_STATIC)
      -Xt        link with static libraries (-static is passed to linker)
      -XX        try to link units smart            (defines FPC_LINK_SMART)
  
  -?     shows this help
  -h     shows this help without waiting
上次由 stlxv 在 2008-01-05 14:17,总共编辑 2 次。
PHP是最好的语言!不服来战!
sandylaw
帖子: 123
注册时间: 2007-01-09 9:17
联系:

#2

帖子 sandylaw » 2007-01-30 14:04

太好了,支持Delphi类的开发工具.
正好,我装kylix不成功,无法在现在的linux下运行.
不过,我下不了,教育网,上不了外网.
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#3

帖子 stlxv » 2007-02-04 14:46

sandylaw 写了:太好了,支持Delphi类的开发工具.
正好,我装kylix不成功,无法在现在的linux下运行.
不过,我下不了,教育网,上不了外网.
这个东西做得非常好,说实话。

kylix不支持咱用的2.6内核,个人不建议装,除非是要和delphi保持更好的兼容(而且只是用Visual CLX),界面是qt的。

lazarus是用源码发行的,编译的时候可以自由选择很多不同的界面(gtk/qt, etc.),而且你做好的程序也只需要直接编译就能支持各种界面平台,相当的棒。另外,delphi很多优秀的功能它都具有,特别是LCL类库,虽然比不上vcl的大,但是功能不比它差,而且该有的它都有(其实也已经相当的全了)。

可能是pascal语言学的人不多吧,要不配合freepascal编译器,这款软件是相当好的。6.10的源里面已经开始有了freepascal,不知道从什么版本开始,lazarus才能在源里找到。


P.S.我同学是用教育网的,不过它用代理可以上国外网。lazarus的源代码大约10M左右,国内应该能搜到。你可以配合freepascal的源代码全部自己来编译。如果你的freepascal没问题的话,编译lazarus应该是相当顺利相当容易的。
PHP是最好的语言!不服来战!
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#4

帖子 BigSnake.NET » 2007-02-04 14:48

这个是IOI的推荐Pascal IDE
但我觉得如果不需要搞GUI的话,fp足够了
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#5

帖子 stlxv » 2007-02-04 15:19

BigSnake.NET 写了:这个是IOI的推荐Pascal IDE
但我觉得如果不需要搞GUI的话,fp足够了
搞ioi用freepascal ide就足够了
我没机会搞ioi,不过以前noi比赛都是用这种风格的ide的
PHP是最好的语言!不服来战!
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#6

帖子 BigSnake.NET » 2007-02-04 15:27

stlxv 写了:
BigSnake.NET 写了:这个是IOI的推荐Pascal IDE
但我觉得如果不需要搞GUI的话,fp足够了
搞ioi用freepascal ide就足够了
我没机会搞ioi,不过以前noi比赛都是用这种风格的ide的
“这种”是指freepascal ide么?

如果是的话。。。那么现在也是这样
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#7

帖子 stlxv » 2007-02-04 15:37

BigSnake.NET 写了:
stlxv 写了:
BigSnake.NET 写了:这个是IOI的推荐Pascal IDE
但我觉得如果不需要搞GUI的话,fp足够了
搞ioi用freepascal ide就足够了
我没机会搞ioi,不过以前noi比赛都是用这种风格的ide的
“这种”是指freepascal ide么?

如果是的话。。。那么现在也是这样
肯定还是这样,而且要么freepascal要么turbo pascal,偶尔可能会出现virtual pascal(这个的官方网站早没了),

难道你是搞IOI的????
PHP是最好的语言!不服来战!
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#8

帖子 BigSnake.NET » 2007-02-04 22:11

stlxv 写了:
BigSnake.NET 写了:
stlxv 写了:
BigSnake.NET 写了:这个是IOI的推荐Pascal IDE
但我觉得如果不需要搞GUI的话,fp足够了
搞ioi用freepascal ide就足够了
我没机会搞ioi,不过以前noi比赛都是用这种风格的ide的
“这种”是指freepascal ide么?

如果是的话。。。那么现在也是这样
肯定还是这样,而且要么freepascal要么turbo pascal,偶尔可能会出现virtual pascal(这个的官方网站早没了),

难道你是搞IOI的????
IOI?!。。。是就好了,我连NOI都不是。。。
现在turbo pascal已经废弃了,必须用freepascal编译(IDE可以用TP,但最终编译一定要用fpc)
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
xrfang
帖子: 1116
注册时间: 2006-12-08 10:21

#9

帖子 xrfang » 2007-02-13 11:13

诶,我用delphi6很多年了。lazarus的ide还是不能与之相比。production不行。再等等。。。
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#10

帖子 stlxv » 2007-02-13 16:21

xrfang 写了:诶,我用delphi6很多年了。lazarus的ide还是不能与之相比。production不行。再等等。。。
ide确实比不上delphi,不过,已经够用了。我也是一直用delphi的。
PHP是最好的语言!不服来战!
头像
ljj_jjl2008
论坛版主
帖子: 14255
注册时间: 2007-09-16 8:29

#11

帖子 ljj_jjl2008 » 2008-01-05 9:54

stlxv 写了:
xrfang 写了:诶,我用delphi6很多年了。lazarus的ide还是不能与之相比。production不行。再等等。。。
ide确实比不上delphi,不过,已经够用了。我也是一直用delphi的。
哈哈,我也是
头像
yangyuruc
帖子: 385
注册时间: 2007-09-26 17:23
来自: 云南-香格里拉

#12

帖子 yangyuruc » 2008-01-05 14:48

装了个,感觉开发界面很亲切
楼主能推荐些这方面编程的资料么?
是用pascal编写么?对pascal不了解
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#13

帖子 stlxv » 2008-01-06 23:53

是用pascal写
PHP是最好的语言!不服来战!
huweimail
帖子: 39
注册时间: 2007-10-22 22:58

#14

帖子 huweimail » 2008-01-07 12:43

挺亲切的,我正规学的第一门编程语言就是pascal,毕业设计也是用pascal。启蒙的第一门和盖茨一样是basic。
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#15

帖子 stlxv » 2008-01-08 1:31

huweimail 写了:挺亲切的,我正规学的第一门编程语言就是pascal,毕业设计也是用pascal。启蒙的第一门和盖茨一样是basic。
gates应该是汇编,没记错的话。basic是gates用来发家的。
PHP是最好的语言!不服来战!
回复