标签: vala

Vala:陷阱,提示和技巧

作为Vala的新手程序员,对于该语言的新手,您的第一条建议是什么?

vala

44
推荐指数
5
解决办法
7483
查看次数

如何修复警告:初始化器周围缺少括号?

警告由vala生成的c代码生成.

警告:初始化程序周围缺少大括号

代码有效但警告很烦人.警告引用的vala代码是

struct Position {uint x; uint y;}
private static Position positions[8];
Run Code Online (Sandbox Code Playgroud)

生成的C代码是

static Position det_positions[8] = {0};
Run Code Online (Sandbox Code Playgroud)

我已经尝试了六种不同方式初始化位置,但似乎无法获得满足警告的语法.这是GCC的错误53119还是有办法解决它?

gcc vala

42
推荐指数
2
解决办法
8万
查看次数

有时候GTK模态对话框不是模态的 - bug或功能?

当我在GTK中创建一个自定义对话框(GTK2或GTK3)并将其设置为模态时,我的应用程序的其他窗口的所有输入都将被忽略.这几乎总是有效,但在某些条件下会失败.

当我将包含TreeView的ScrolledWindow添加到我的对话框时,它仍然可以正常工作.但是,如果我用条目填充TreeView,直到ScrolledWindow开始显示其滚动条 - 模态突然丢失,我可以点击我的其他窗口!

这是我能够设置的最基本的例子.它是用Vala编写的,但你会明白这个想法:

class MyDialog: Gtk.Dialog {

    public MyDialog() {
        this.modal = true;

        var data = new Gtk.ListStore(1, typeof(string)); 

        // increase this number -- the dialog is not modal anymore!
        for (int i=0; i<2; ++i) {
            Gtk.TreeIter current;
            data.append(out current);
            data.set(current, 0, "Lorem Ipsum"); 
        }

        var render = new Gtk.CellRendererText();

        var column = new Gtk.TreeViewColumn();
            column.pack_start(render, true);
            column.add_attribute(render, "text", 0);

        var treeview = new Gtk.TreeView.with_model(data);
            treeview.append_column(column);
            treeview.show();

        var scroll = new Gtk.ScrolledWindow(null, null);
            scroll.set_size_request(100, …
Run Code Online (Sandbox Code Playgroud)

gtk modal-dialog vala

37
推荐指数
1
解决办法
1716
查看次数

Vala(C#式语言)编译成C?

我是一名C#开发人员,偶然发现了一种名为vala的新的Linux编程语言.它与C#的语法几乎完全相同,非常棒.我从来都不是Mono的忠实粉丝.这允许程序员用C#风格的语言编写GTK +应用程序.我的问题是:vala是否编译成C?

c gtk vala

22
推荐指数
3
解决办法
4590
查看次数

为什么有些编译器更喜欢手工制作的解析器而非解析器生成器?

根据Vala文档:"在0.3.1之前,Vala的解析器是经典的flex扫描器和Bison LALR解析器组合.但是从提交eba85a开始,解析器是一个手工制作的递归下降解析器." 我的问题是:为什么?

问题可以解决任何不使用解析器生成器的编译器.从解析器生成器到手工解析器的这种转变的优缺点是什么?将解析器生成器(Bison,ANTLR)用于编译器有什么缺点?

作为旁注:我对Vala特别感兴趣,因为我喜欢使用具有现代功能和清晰语法的语言,但可编译为"本机"和"非托管"高级语言(在Vala的情况下为C).到目前为止我只发现了Vala.我想通过使Vala(或类似语言)可编译为C++(由Qt libs支持)来获得乐趣.但是因为我不想发明全新的语言,所以我想考虑一些现有的语法.显然,手工制作的解析器没有我可能重用的书面形式语法.你对这个想法的评论是受欢迎的(整个想法是愚蠢的吗?).

compiler-construction parsing vala

21
推荐指数
2
解决办法
4828
查看次数

瓦拉会活下来吗?

我只是想知道Vala项目是如何进行的.我不确定这将是一项伟大的新技术还是只会被淘汰的技术.有谁知道有多少人正在从事这个项目,如果我能做出贡献(编写教程,报告/修复错误等等)?

c c# vala

18
推荐指数
4
解决办法
4981
查看次数

Vala for Android?

是否可以编写Vala应用程序并使其在Android设备上运行?

android vala

18
推荐指数
1
解决办法
4356
查看次数

vala是跨平台语言吗?

Vala是一种编程语言,C#语法相同,valac编译vala程序到C源代码,是否可以在windows os上运行我的vala程序?

linux windows cross-platform vala

16
推荐指数
1
解决办法
7984
查看次数

Vala可以在没有GObject的情况下使用吗?

我是Vala的新手.我不熟悉GObject.据我了解,GObject是从GNOME的GLib项目中分离出来的.如我错了请纠正我.

我非常喜欢Vala的语法和实现,但我并不打算为GNOME编写桌面应用程序.

我也知道(我想知道)Vala没有GObject本身以外的标准库.

所以我的问题是:Vala可以在没有GObject的情况下使用吗?如果可以的话,它是否可用(是否有最佳和维护的基础库,用于常见的事情,如类型转换,数学,字符串操作,缓冲等等......可用)?

gobject vala

15
推荐指数
2
解决办法
3056
查看次数

我可以在Vala中为iPhone编码吗?

我正在使用OpenGL 为ooc语言(一种编译为c的新语言)编写iphone游戏.它真的很顺利,ooc是我真正喜欢的语言.现在我刚刚发现了Vala,我不太清楚它依赖于GLib和GObject意味着什么.我在另一个问题中读到Vala依赖于GTK,但我不认为这样做.

问题是:我正在用ooc做什么,我可以用Vala做同样的事情吗?我可以在vala中为iPhone编写一个OpenGL游戏吗?并且可以使用来自c的vala代码吗?

谢谢.

iphone vala

12
推荐指数
1
解决办法
2598
查看次数