小编Eri*_*eim的帖子

C/C++有哪些替代语法?(想想SPECS或Mirah)

我想知道C或C++是否有更简单或更强大的语法.我已经遇到了SPECS.这是C++的替代语法.但是有没有其他什么关于C呢?

它也可以是一种代码生成器,因此像functor这样的东西可以更简洁地定义.我想它可以作为代码生成器编译成C或C++代码,这与你在替代语法中编写的代码非常相似.

Mirah就是为Java做这个的一个例子.

理想情况下,我想在Go中编写C语法.我喜欢他们如何修理开关盒,并且通常使一切都变得更加冗长.

c c++ compiler-construction syntax code-generation

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

当主干移动时,如何在Git中保留SVN历史记录?

我正在尝试使用svn2git将SVN项目迁移到git.但是我在保留所有历史方面遇到了问题.原因似乎是因为行李箱过去被移动了.我使用的命令是:

$ svn2git http://mysvnserver.com/myproject/iPhone/ --no-minimize-url --authors ../authors.txt
Run Code Online (Sandbox Code Playgroud)

但这只能让我的历史可以追溯到2011年.该项目实际上始于2010年.预计开始时看起来像这样:

myproject
   trunk
   branches
   tags
Run Code Online (Sandbox Code Playgroud)

但在2011年,它改为:

myproject
   iPhone
     trunk
     branches
     tags
   Android
      trunk
      branches
      tags
Run Code Online (Sandbox Code Playgroud)

旧的主干和分支都在iPhone目录下.我从这一举动完成后开始的历史.如果我svn log在iPhone目录中,我会得到缩短的历史记录.但如果我,cd trunk; svn log那么我得到了完整的历史.

我不知道如何将这段历史记录下来.我的想法是以某种方式创建一个git存储库,只有中继的历史可以追溯到2010年.然后我会把它作为我的主仓库中的一个分支拉出来,然后做一个rebase以使历史记录正确.但我没有运气为主干创造这个回购.我试过了:

$ svn2git http://mysvnserver.com/myproject/ --rootistrunk --authors ../authors.txt
Run Code Online (Sandbox Code Playgroud)

$ svn2git http://mysvnserver.com/myproject/ --rootistrunk -no-minimize-url --authors ../authors.txt
Run Code Online (Sandbox Code Playgroud)

没有任何成功.

svn git-svn

15
推荐指数
1
解决办法
3393
查看次数

Charles Map Local不适用于JSON数据?

我试图使用Charles模拟(模拟它)一个服务器.我发现Charles有一个名为"Map Local ..."的东西,它允许我使用我本地存储的文件回复客户端.

通过右键单击查询序列列表并选择"保存响应..."来存储我指向的文件.

但是,在使用我的iOS应用程序测试时,我收到以下错误消息:

Failed to get areas: Error Domain=AFNetworkingErrorDomain Code=-1016 "Expected content type {(
    "text/json",
    "application/json",
    "text/javascript"
)}, got text/plain" 
Run Code Online (Sandbox Code Playgroud)

所以我不知道我发送的响应是否有内容类型的正确标头信息.有没有办法告诉Charles,响应是JSON?可能的问题是存储的文件仅包含JSON数据而不包含任何标头.

json mocking ios charles-proxy

15
推荐指数
1
解决办法
9075
查看次数

手码GUI或使用gui-designer工具

我想听到一些关于手工编写GUI的意见,就像使用Java或Qt和C++一样,使用gui设计工具?GUI设计器工具的示例是MFC GUI设计器,Qt设计器,Interface Builder(Apple).

我曾经是手工编码的粉丝,但从最近的经验我已经切换.我用手编码看到的问题是编写GUI非常快速和灵活,但是一旦你需要对很久以前编写的GUI进行更改,这可能会非常困难.在大面板中找到正确的元素可能很困难.

第二个问题是它很容易在GUI创建和布局代码中添加大量逻辑.我经常不得不接管维护很难重用的GUI代码,因为它的行为与它的外观混合在一起,混合布局和行为通常使得这个类非常庞大且难以理解.

在我看来,使用GUI设计器工具可以在外观和逻辑之间实现更清晰的分离.

c++ java swing gui-designer windows-forms-designer

14
推荐指数
3
解决办法
5389
查看次数

如何在iOS7上支持自定义单元格?

随着iOS8的发布,我设计了我的桌面视图,细胞利用了自我调整大小的细胞.但我也需要我的表在iOS7中工作.我怎么做?有没有办法检查运行时是否支持自调整大小单元,还是可以在我的控制器中实现一些不会在iOS7中调用的表委托方法?

如果我在iOS7中使用自我调整单元格来尝试我的表格,我会在控制台上出现如下错误:

Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
(
    "<NSLayoutConstraint:0x7fc912d1d5a0 V:|-(>=11)-[UILabel:0x7fc912d13900]   (Names: '|':UITableViewCellContentView:0x7fc912d13400 )>",
    "<NSLayoutConstraint:0x7fc912d1d6b0 V:[UILabel:0x7fc912d13900]-(11)-|   (Names: …
Run Code Online (Sandbox Code Playgroud)

objective-c ios ios7 swift ios8

14
推荐指数
1
解决办法
5910
查看次数

嵌入:mono vs lua

我有兴趣听听人们在C/C++应用程序中嵌入单声道(.NET的开源实现)的经验.如何分发这样的应用程序以及依赖性是什么?我已经测试了OS X和mono作为一个巨大的框架(数百MB).我的应用程序的用户都需要这个大框架,或者可以将其删除或将所有内容编译到主可执行文件中.

我以前有过在一个C++应用程序中嵌入Lua的经验,这非常有效,因为我可以将整个lua解释器与我的主可执行文件静态链接.所以我没有外部依赖.是否可以用单声道做类似的事情?

这里的任何Lua人都能评论他们如何发现单声道与Lua相比?

PS:嵌入我指的是一个C++应用程序,它初始化单声道环境并加载.NET程序集并执行它,然后允许在程序集中的C#代码和主可执行文件中的C++方法之间进行通信.

c++ mono lua embedding mono-embedding

10
推荐指数
1
解决办法
5325
查看次数

有效地通过值传递多大的结构?

经验法则是按值传递小结构是可以的,而较大的结构应该是指针.

我的问题是这个截止点究竟在哪里?在你最好通过指针传递之前,结构有多大.

我知道这会因平台而异,但我假设可以给出一些粗略的估计.一两年前,我试图在PPC架构上弄清楚这一点,并且令我惊讶的是,人们可以通过价值有效地传递大量数据.由于PPC中存在大量寄存器,因此认为10个左右的值很合适.指针实际上涉及更多的内存复制和内存复制.

但是我现在我在英特尔,我希望事情可能会有所不同.由于CPU传统上没有那么多寄存器,但在64位或浮点寄存器上可能有所不同?

c optimization performance struct pointers

9
推荐指数
1
解决办法
1957
查看次数

Gtk + vs Qt语言绑定

简而言之:对于那些熟悉Qt和Gtk +语言绑定的人.例如python和ruby.是否有任何质量或能力差异?

更多背景:我非常了解C++和Qt.Gtk +的最小经验.我知道由于缺乏定义明确的ABI(应用程序二进制接口),C++不适合语言绑定.我还读到Gtk +被设计为绑定到其他语言.所以我想知道这在实践中是如何体现的.Gtk +绑定是否比Qt对应物更好地维护或更好地工作?

我现在对Go语言很感兴趣,他们已经开始开发Gtk +绑定.但是C++绑定很遥远.这让我想知道学习Gtk +是否值得.

gtk binding qt

8
推荐指数
1
解决办法
5192
查看次数

如何改变 Zig 函数参数?

我发现 Zig 函数参数是恒定的。这意味着我释放 a 的幼稚功能HashMap不起作用。您可以在此处查看代码示例。我想知道最正确的 Zig 方式是否是dict作为函数传递,或者是否有其他方式可以使参数可变。

const Dict = std.StringHashMap;

fn releaseDict(allocator: Allocator, dict:  Dict(i16)) void {
    var iter = dict.iterator();
    while (iter.next()) |entry|
        allocator.free(entry.key_ptr.*);
    dict.deinit();    
}
Run Code Online (Sandbox Code Playgroud)

function parameter-passing zig

7
推荐指数
1
解决办法
2339
查看次数

如何使用权利重新授予应用程序?

我有一个.ipa文件,我需要辞职.我尝试按照objc.io博客中的说明进行操作:

$ codesign -f -s 'iPhone Developer: Thomas Kollbach (7TPNXN7G6K)' Example.app
Run Code Online (Sandbox Code Playgroud)

但这还不够.当我做代码签名时,我得到这样的东西:

$ codesign -d --entitlements - Example.app/Example
Executable=/Users/myuser/Payload/Example.app/Example
Run Code Online (Sandbox Code Playgroud)

我没有列出任何权利.

但是,如果我codesign -d --entitlements从xCode获取原始IPA文件,我会得到:

<plist version="1.0">
<dict>
    <key>application-identifier</key>
    <string>UFAYDHAUP.com.company.example</string>
    <key>aps-environment</key>
    <string>production</string>
    <key>beta-reports-active</key>
    <true/>
    <key>com.apple.developer.team-identifier</key>
    <string>UFAYDHAUP</string>
    <key>get-task-allow</key>
    <false/>
    <key>keychain-access-groups</key>
    <array>
        <string>UFAYDHAUP.com.company.example</string>
    </array>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

我试过下面这一行

 codesign --entitlements Example.app/archived-expanded-entitlements.xcent -f -s 'iPhone Developer: Thomas Kollbach (7TPNXN7G6K)' Example.app
Run Code Online (Sandbox Code Playgroud)

但以下键不包括在内:

  • 测试的报告-ACTIV
  • 获得任务,允许

那么我该怎么做呢?我没有权利文件,在xCode 7中,只检查功能.而我所拥有的只是Apple Push通知.

最后澄清我的要求:

  1. 与xCode导出的内容相比,我不会更改App ID或使用不同的配置文件或代码签名标识.
  2. 只使用工具更改主可执行文件,这就是需要重新签名的原因.

xcode codesign ios code-signing-entitlements

5
推荐指数
2
解决办法
1万
查看次数