首页 \ 问答 \ 我应该开源我的MonoTouch .NET iPhone应用程序吗?(Should I Open Source my MonoTouch .NET iPhone application? [closed])

我应该开源我的MonoTouch .NET iPhone应用程序吗?(Should I Open Source my MonoTouch .NET iPhone application? [closed])

这是一个名为Simon Basic Edition的小应用程序,它位于Apple Apps Store的Games> Kids中

第一个版本非常基础,但我在1.1中做了一些改进。 这是一周前提交给iTunes Connect的。

基于相同的来源,我写了另一个西蒙卡版本 ,也在等待App Store的批准。 应该有一个与着名艺术家共同开发的另一个版本。

我正在寻找有关iPhone应用程序的开源优缺点的指导,以及发布此代码(许可证,存储库)的更实际方面 。 由于我也在编写其他应用程序,我想知道它是否适合作为多个应用程序策略


It's a small application, named Simon Basic Edition, and it is in the Apple Apps Store top 100 in Games > Kids.

The first version is pretty basic, but I made a bunch of improvements in 1.1. which was submitted a week ago to iTunes Connect.

Based on the same source, I have written another Simon Cards Edition which is also waiting for the approval on the App Store. There should be another edition jointly developed with an excellent and renowned artist.

I am looking for guidance about the pros and cons of Open Source for an iPhone application, and for the more practical aspects of publishing this code (license, repository). Since I am writing other applications too, I wonder if it makes sense as a strategy for multiple applications.


原文:https://stackoverflow.com/questions/1694280
更新时间:2022-10-01 22:10

最满意答案

不,没问题。 自动变量每次都可以轻松地重复使用相同的空间。 请记住,自动变量的生命周期在块的结尾处结束,因此它们的寿命永远不会超过一次迭代。

(事实上​​,你需要更多的代码来构造每个迭代使用不同内存位置的东西 - 你必须保留一个额外的计数器并每次计算一个偏移!)


No, there's no problem. The automatic variables can easily reuse the same space each time. Remember that the automatic variables' lifetimes end at the end of the block, so they never live longer than one iteration.

(In fact, you would need a lot more code to construct something where each iteration used a different memory location -- you'd have to keep an extra counter around and compute an offset each time!)

相关问答

更多
  • 答案 - 我认为 - 你正在寻找(为什么以及如何引发异常)是因为在Control类的Handle属性中有明确的代码,它将检查想要访问该属性的代码是否在同一个线程上运行创建了Control(用户界面线程)。 您可以在此处检查Handle属性的参考源。 实际的线程检查发生在InvokeRequired属性的实现中,您也可以在此处查看 。 早期版本的.net Framework不包含此检查,因此从其他线程访问用户界面非常容易。 我们不能不这样做的原因是因为Win32 API代码库的很大一部分不是线程安全的,所以从 ...
  • 您有n个工作线程和一个主线程a ,它将任务委派给工作人员,并且必须等待他们完成这些任务,然后再为他们分配一批新任务。 基本技术是使用屏障(如boost::barrier )来同步工作线程的结尾和a 。 屏障在n+1处初始化。 主线程等待屏障,每个工作线程在其任务结束时执行相同操作。 当最后一个线程在屏障上调用wait时,所有线程都被唤醒,主线程可以继续工作。 您可能希望添加第二个屏障来阻止工作线程,直到为其分配新任务。 工作线程的主体可能看起来像以下伪代码: while (running) { s ...
  • 我想这取决于你在DoWork()函数中做了什么。 我们假设它将一个点值写入p1。 至少你有一个竞争条件的可能性,它会将无效结果返回给主线程: 假设工作线程想要更新p1的值。 例如,让我们将p1的值从(A,B)更改为(C,D)。 这将涉及至少两个操作,在x中存储C并在y中存储D. 如果主线程决定在GetPointer()函数中读取p1的值,它还必须至少执行两个操作,为x加载值和为y加载值。 如果操作顺序是: 更新线程:存储C 主线程:加载x(主线程接收C) 主线程:加载y(主线程接收B) 更新线程:存储D. ...
  • 这是否意味着我可以从工作线程中访问UI线程中的变量,即不是UI工具包? 是的,只要它们被声明为成员变量,那么您就可以访问它们。 您甚至可以访问UI元素中的值,例如在TextView上使用getText() ,您无法更新任何UI元素。 如果变量不断更新,需要给出任何特殊的考虑因素, 如果它们正在更新,那么您可能希望有一种同步变量的方法。 执行此操作的一种好方法是使用AsyncTask并更新onPostExecute()的变量。 如果您不熟悉使用AsyncTask ,请确保多次查看文档并理解它们。 Does t ...
  • 这是一个关注点分离的练习,最初我会把这个程序分成一个work provider和worker 。 提供者负责队列和执行控制,而工作人员应该进行计算。 以下代码是一个粗略的开始,但它应该让你去。 拆分这两个问题并使用构造函数注入已经支付了可测试性,现在您可以在不涉及Program情况下完全测试Worker 。 注意:考虑到您的应用程序的进一步开发,我强烈建议您查看任务并行库 。 使用诸如TPL之类的库使您可以利用多核处理器,而无需处理线程分配和工作调度的复杂性。 这里讨论有关TPL的更多资源。 public ...
  • 不,没问题。 自动变量每次都可以轻松地重复使用相同的空间。 请记住,自动变量的生命周期在块的结尾处结束,因此它们的寿命永远不会超过一次迭代。 (事实上,你需要更多的代码来构造每个迭代使用不同内存位置的东西 - 你必须保留一个额外的计数器并每次计算一个偏移!) No, there's no problem. The automatic variables can easily reuse the same space each time. Remember that the automatic variabl ...
  • 罪魁祸首是AttachThreadInput,请参阅此消息 。 The culprit was AttachThreadInput, see this message.
  • 如果一个类不是线程安全的,那么你就不能获取该类的实例并从多个线程中使用该实例。 它们是IIS中的System.Threading.Thread或ThreadPool或Task还是工作线程并不重要。 它们都是线程 - 它们都是抢占式多任务处理,而对象处于不期望被抢占的状态。 但是,在您描述的场景中,这无关紧要。 假设两个Web客户端同时尝试连接到服务器,并且您的请求处理程序尝试登录到文件,这意味着您有两个线程可能同时尝试写入该文件。 但这不是线程安全问题,因为您不会在两个线程中使用相同的StreamWrite ...
  • 除非你的线程(背景和普通)不修改对象,否则它是安全的。 如果你想让对象相互修改,使用Lock It is safe unless until both your threads(background & normal) not modifying the object. If you want your object to be modified by each other, use Lock

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)