我一直在尝试在业余时间学习C语言,其他语言(C#,Java等)具有相同的概念(通常是相同的运算符)......
我想知道是,在核心层,是什么位移(<<,>>,>>>)这样做,可以帮助它什么问题解决,和周围的弯曲什么潜伏的陷阱?换句话说,一个绝对的初学者指导比特移位的所有优点.
假设我有一个类,其成员名为data,这是一个列表.
我希望能够使用例如文件名(包含初始化列表的数据)或实际列表来初始化类.
你这样做的技巧是什么?
你只是看看类型__class__吗?
我可能会缺少一些技巧吗?
我已经习惯了C++,其中按参数类型重载很容易.
我即将开始编写一个Windows窗体应用程序的旅程,该应用程序将打开一个管道分隔的txt文件,大小约为230 mb.然后,此应用程序将此数据插入到sql server 2005数据库中(显然这需要迅速发生).我在这个项目中使用c#3.0和.net 3.5.
我不是要求应用程序,只是在这里提供一些公共建议和潜在的陷阱建议.从我收集的网站上我得知SQL批量复制是先决条件,我应该考虑一下(我认为只需用表格应用程序打开txt文件就可以了;可能会将其分解为blob数据?).
谢谢,如果有人需要,我会编辑问题以便清楚.
我有一个看起来像这样的循环:
for (int i = 0; i < max; i++) {
String myString = ...;
float myNum = Float.parseFloat(myString);
myFloats[i] = myNum;
}
Run Code Online (Sandbox Code Playgroud)
这是方法的主要内容,其唯一目的是返回浮点数组.我希望这个方法null在出现错误时返回,所以我将循环放在一个try...catch块中,如下所示:
try {
for (int i = 0; i < max; i++) {
String myString = ...;
float myNum = Float.parseFloat(myString);
myFloats[i] = myNum;
}
} catch (NumberFormatException ex) {
return null;
}
Run Code Online (Sandbox Code Playgroud)
但后来我还想把try...catch块放在循环中,如下所示:
for (int i = 0; i < max; i++) {
String myString = ...;
try {
float …Run Code Online (Sandbox Code Playgroud) 我可以通过以下方式选择列中的所有不同值:
SELECT DISTINCT column_name FROM table_name;SELECT column_name FROM table_name GROUP BY column_name;但是如何从该查询中获取行数呢?是否需要子查询?
我想要的是能够生成一个简单的报告,该报告是特定日期范围的svn log的输出.具体来说,是'昨天'以来的所有变化.
除了为时间戳创建svn日志输出之外,还有一种简单的方法可以在Subversion中完成此操作吗?
例:
svn -v log -d 2008-9-23:2008-9:24 > report.txt
Run Code Online (Sandbox Code Playgroud) 以下SQL
SELECT * FROM customers
Run Code Online (Sandbox Code Playgroud)
在LINQ中转换为此
var customers = from c in customers
select c;
Run Code Online (Sandbox Code Playgroud)
他们有什么好的理由为什么来自和选择被交换?
我能想到的唯一合乎逻辑的理由是intellisens?为了让intellesens得到解决,它需要知道它的查询内容(范围)?
它被转换的任何其他原因?
请考虑以下步骤:
0)发布开源模拟程序和模拟插件,它通过某些接口(I)进行通信,交换复杂的数据结构,共享内存并相互调用.对其应用所有许可许可.
1)Release Plugin,用于以接口(I)定义的方式处理任何程序.这个插件使用第三方GPL覆盖的代码,GPL本身也是如此.它最初是使用Mock Program开发和测试的.它作为任何GPL程序分发,并提供源代码.
2)发布闭源专有程序,用于以接口(I)定义的方式与任何插件通信.它最初是使用Mock插件开发,测试和发布的.
3.1)向程序添加安装脚本,下载GPL插件并将其附加到已安装的程序.
3.2)而不是安装脚本添加说明如何手动下载和附加GPL插件.
因此,最终用户获得专有程序,该程序受益于插件中的GPL覆盖代码.
问题:
0)如果它是合法的,那么通过开发人员的相当小的努力,在任何专有程序中获得任何GPL涵盖代码的利益是不是合法的方式?
1)如果它不合法,那么GPLv*的哪一部分或任何东西阻止谁做哪一步?
2)3.1和3.2之间是否有任何法律差异?
3)如果Mock Program and Plugin,专有程序和GPL插件是由单个人或不同的人开发的,是否存在法律上的差异; 有意或无意?
4)您的意见是什么 - 它是否足够道德?
5)这种策略是否有现有样本?
6)是否有任何更容易的合法方法来实现相同的结果 - 发布可能并且很可能从GPL代码中受益的专有程序?
更新:
从字面上看,这意味着为封闭源程序编写插件并在GPL下发布它会导致组合成为插件的扩展,因此属于GPL,涵盖整个封闭源程序太
但是这种组合不是分布式的,而是在最终用户机器上进行组合.就像我自己对Linux的修改一样,在我发货之前我不需要开源.在这种情况下,最终用户设法在不访问程序源的情况下进行修改 - 对他有利,但到目前为止我看不到任何违法行为.
为了使用GPL覆盖的插件,主程序必须在GPL下发布
我看到了GPL常见问题的那一部分.但是插件可以独立开发并随MockProram一起提供.它发生了,以便最终用户可以从MockProgram获取插件并将其放入专有程序.直到最后一步GPL和封闭源被分开.该步骤由最终用户完成,他没有义务,因为他不分发组合产品.
更新2
这个
如果法院认定一个是专门设计要求另一个,那么你可能会遇到麻烦.Mock Program和Mock Plugin的性质也可能发挥作用,关于它们是"真正的"程序还是傀儡.咨询律师.
看起来像问题3的答案.谢谢.
我有一个这样的Enum
package com.example;
public enum CoverageEnum {
COUNTRY,
REGIONAL,
COUNTY
}
Run Code Online (Sandbox Code Playgroud)
我想在JSP中迭代这些常量而不使用scriptlet代码.我知道我可以用这样的scriptlet代码做到这一点:
<c:forEach var="type" items="<%= com.example.CoverageEnum.values() %>">
${type}
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
但是如果没有scriptlet,我能实现同样的目标吗?
干杯,唐
java ×2
bit-shift ×1
bulkinsert ×1
c# ×1
constructor ×1
distinct ×1
enums ×1
gpl ×1
jsp ×1
linq ×1
linq-to-sql ×1
loops ×1
operators ×1
performance ×1
python ×1
scriptlet ×1
sql ×1
sql-server ×1
ssis ×1
svn ×1
try-catch ×1