当前位置: 首页 > news >正文

Vala 编程语言以及相关的开源软件

Vala 是一个很小众的编程语言,专为gnome环境准备的开发语言,之所以vala会出现,是因为目前的glib,gio,gtk+,gnome-lib等等的C语言接口开发 起来实在太繁琐(这个深有感触),而同时,如果采用java,C++这些东西,那又显得太臃肿。

vala是对c语言的一种高层封装,集成并实现了gnome环境的函数,在编译的时候首先vala代码会转成c代码,然后再编译。这么做,相当于用简单的方 式来编写C程序,而且又有面向对象的特性,同时又不失C语言的优秀特性。

1、安装编译环境

sudo apt-get install valac

2、 编写hello world

sanool@sanool-laptop:~/tmp/foo$ cat a.vala 
using GLib;
public  class HelloVala: GLib.Object 
{
   public static int main (string[] args) 
 {
    stdout.printf ("Hello world!\n");
    return 0;
  }
}

3、 编译
valac -o a a.vala

4、运行
可以看到 vala的编译器是valac。

文章转载自 开源中国社区 [http://www.oschina.net]

相关文章:

  • 求一个Turbo Delphi Pro版本的下载地址啊~
  • k个最大的数及变种小结
  • [Prism]Composite Application Guidance for WPF(9)——命令
  • 最受 Web 开发者欢迎的 NoSQL 和关系数据库
  • ASP.NET MVC Preview 5 and Form Posting Scenarios
  • 洛谷P2726 阶乘 Factorials 数学
  • COM+中怎么公用一个数据层接口
  • JAVA常见算法题(十七)
  • Node 版本管理
  • XNA Game Stdio 3.0 发布了
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • 可能出现的问题
  • Mysql远程登陆错误:ERROR 2003
  • 在Word里实现禁止复制和选定
  • RAC维护手记08-ASM磁盘组信息查看常用命令
  • 【5+】跨webview多页面 触发事件(二)
  • es6--symbol
  • Github访问慢解决办法
  • leetcode46 Permutation 排列组合
  • Linux gpio口使用方法
  • opencv python Meanshift 和 Camshift
  • Python十分钟制作属于你自己的个性logo
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • 阿里研究院入选中国企业智库系统影响力榜
  • 初识 beanstalkd
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 面试总结JavaScript篇
  • 如何实现 font-size 的响应式
  • 山寨一个 Promise
  • 算法系列——算法入门之递归分而治之思想的实现
  • 微信支付JSAPI,实测!终极方案
  • 想写好前端,先练好内功
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (初研) Sentence-embedding fine-tune notebook
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (二)linux使用docker容器运行mysql
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (六)Hibernate的二级缓存
  • (转)Sublime Text3配置Lua运行环境
  • (转载)深入super,看Python如何解决钻石继承难题
  • .md即markdown文件的基本常用编写语法
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .Net MVC + EF搭建学生管理系统
  • .net流程开发平台的一些难点(1)
  • .net下简单快捷的数值高低位切换
  • .pyc文件是什么?
  • @RequestParam,@RequestBody和@PathVariable 区别