Chisel3实践用例,安装

2023-11-17

新建SBT工程

sbt.version = 1.2.8

name := "ScalaExample"
//
version := "0.1"
//
scalaVersion := "2.12.8"
//
//--------------------------------------------------------------------------------------------------------//
//--------------------------------------------------------------------------------------------------------//
//--------------------------------------------------------------------------------------------------------//
//
crossScalaVersions := Seq("2.12.8")
//
scalacOptions ++= Seq("-deprecation", "-feature", "-unchecked", "-language:reflectiveCalls")
//
// Provide a managed dependency on X if -DXVersion="" is supplied on the command line.
// The following are the current "release" versions.
val defaultVersions = Map(
  "chisel3" -> "3.1.+",
  "chisel-iotesters" -> "1.2.+",
  "treadle" -> "1.0.1"
)
//
//网络jar包
libraryDependencies ++= (Seq("chisel3","chisel-iotesters").map {
  dep: String => "edu.berkeley.cs" %% dep % sys.props.getOrElse(dep + "Version", defaultVersions(dep)) })
//
libraryDependencies ++= Seq(
  "org.scalatest" %% "scalatest" % "3.0.1" % "test"
)
//
//本地jar包
unmanagedJars in Compile ++= Seq(
  Attributed.blank[File](file(baseDirectory.value + "/libs/log4j-1.2.16.jar")),
  Attributed.blank[File](file(baseDirectory.value + "/libs/slf4j-api-1.7.25.jar")),
  Attributed.blank[File](file(baseDirectory.value + "/libs/slf4j-nop-1.7.25.jar"))
)
//
//不上传snapshots
//resolvers ++= Seq(
//  Resolver.sonatypeRepo("snapshots"),
//  Resolver.sonatypeRepo("releases")
//)
//
// Recommendations from http://www.scalatest.org/user_guide/using_scalatest_with_sbt
//logBuffered in Test := true
//
// Disable parallel execution when running tests.
//  Running tests in parallel on Jenkins currently fails.
//parallelExecution in Test := false
//
//publishMavenStyle := true
//
//publishArtifact in Test := true
//
pomIncludeRepository := { x => false }
//
pomExtra := (
  <url>http://chisel.eecs.berkeley.edu/</url>
    <licenses>
      <license>
        <name>BSD-style</name>
        <url>http://www.opensource.org/licenses/bsd-license.php</url>
        <distribution>repo</distribution>
      </license>
    </licenses>
    <scm>
      <url>https://github.com/ucb-bar/chisel-testers2.git</url>
      <connection>scm:git:github.com/ucb-bar/chisel-testers2.git</connection>
    </scm>
  )

// Recommendations from http://www.scalatest.org/user_guide/using_scalatest_with_sbt
//logBuffered in Test := true
//
// Disable parallel execution when running tests.
//  Running tests in parallel on JeparallelExecution in Test := false
//
//publishMavenStyle := true
//
//publishArtifact in Test := true
//
//pomIncludeRepository := { x => false }
//
//pomExtra := (
//  <url>http://chisel.eecs.berkeley.edu/</url>
//    <licenses>
//      <license>
//        <name>BSD-style</name>
//        <url>http://www.opensource.org/licenses/bsd-license.php</url>
//        <distribution>repo</distribution>
//      </license>
//    </licenses>
//    <scm>
//      <url>https://github.com/ucb-bar/chisel-testers2.git</url>
//      <connection>scm:git:github.com/ucb-bar/chisel-testers2.git</connection>
//    </scm>
//  )nkins currently fails.
//
//
//publishTo := {
//  val v = version.value
//  val nexus = "https://oss.sonatype.org/"
//  if (v.trim.endsWith("SNAPSHOT")) {
//    Some("snapshots" at nexus + "content/repositories/snapshots")
//  }
//  else {
//    Some("releases" at nexus + "service/local/staging/deploy/maven2")
//  }
//}
//
//trapExit := false

测试Chisel3用例:

import chisel3._
import chisel3.iotesters.{ChiselFlatSpec, SteppedHWIOTester}
import chisel3.testers.TesterDriver

class MyBundle(val w: Int) extends Bundle {
  val in0 = Input(UInt(w.W))
  val in1 = Input(UInt(w.W))
  val out = Output(UInt(w.W))
}

//Adder
class Adder(val w: Int) extends Module {
  val io = IO(new MyBundle(w))
  io.out := io.in0 + io.in1
}

//TestBench
class AdderTester extends SteppedHWIOTester {
  //测试8位宽的加法器
  val device_under_test = Module( new Adder(8) )
  val c = device_under_test
  //打印全部
  enable_all_debug = true
  //随机种子
  rnd.setSeed(0L)
  //循环三次
  for (i <- 0 until 3) {
    val in0 = rnd.nextInt(1 << c.w)
    val in1 = rnd.nextInt(1 << c.w)
    poke(c.io.in0, in0)
    poke(c.io.in1, in1)
    expect(c.io.out, (in0 + in1) & ((1 << c.w) - 1))
    //
    step(10)
  }
}

class AdderSpec extends ChiselFlatSpec {
  "Adder" should "compile and run without incident" in {
    assertTesterPasses { new AdderTester }
  }
}

//-----------------------------------------------------------//
//测试Chisel3加法器
object Adder {
  //
  def main(args: Array[String]): Unit = {
    TesterDriver.execute {
      () => new AdderTester
    }
  }
}
//-----------------------------------------------------------//

启动SBT-Shell,再运行run:

@echo off

echo "sbt-shell"

:: "C:\Program Files\Java\jdk1.8.0_161\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=localhost:59195,suspend=n,server=y -Xdebug -server -Xmx1536M -XX:MaxPermSize=384M -Dfile.encoding=UTF-8 -Didea.runid=2017.2 -Didea.managed=true -jar "D:\Android\IntelliJ IDEA Community Edition 2017.3.4\plugins\Scala\launcher\sbt-launch.jar" idea-shell

"C:\Program Files\Java\jdk1.8.0_161\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=localhost:59195,suspend=n,server=y -Xdebug -server -Xmx1536M -XX:MaxPermSize=384M  -Didea.runid=2017.2 -Didea.managed=true -jar "D:\Android\IntelliJ IDEA Community Edition 2017.3.4\plugins\Scala\launcher\sbt-launch.jar" idea-shell

pause

运行测试:

"sbt-shell"
Listening for transport dt_socket at address: 59195
[info] Loading settings for project global-plugins from idea.sbt ...
[info] Loading global plugins from C:\Users\houwenbin\.sbt\1.0\plugins
[info] Loading project definition from D:\J2EE\ScalaExample\project
[info] Loading settings for project scalaexample from build.sbt ...
[info] Set current project to ScalaExample (in build file:/D:/J2EE/ScalaExample/)
[IJ]sbt:ScalaExample> run
[warn] Multiple main classes detected.  Run 'show discoveredMainClasses' to see the list

Multiple main classes detected, select one to run:

 [1] Adder
 [2] Hello

Enter number: 1

[info] Running Adder 
[info] [0.004] Elaborating design...
================================================================================
Device under test: io bundle
  #  Dir  D/V   Used   Name                      Parent
--------------------------------------------------------------------------------
  0    I          y    in0                       
  1    I          y    in1                       
  2    O          y    out                       
================================================================================
================================================================================
UnitTester state table
  step  in1  in0  out
--------------------------------------------------------------------------------
     0  212  187  143
     1    -    -    -
     2    -    -    -
     3    -    -    -
     4    -    -    -
     5    -    -    -
     6    -    -    -
     7    -    -    -
     8    -    -    -
     9    -    -    -
    10  155   61  216
    11    -    -    -
    12    -    -    -
    13    -    -    -
    14    -    -    -
    15    -    -    -
    16    -    -    -
    17    -    -    -
    18    -    -    -
    19    -    -    -
    20   79  163  242
    21    -    -    -
    22    -    -    -
    23    -    -    -
    24    -    -    -
    25    -    -    -
    26    -    -    -
    27    -    -    -
    28    -    -    -
    29    -    -    -
    30    -    -    -
================================================================================
[info] [1.424] Done elaborating.
Total FIRRTL Compile Time: 899.3 ms
verilator --cc D:\J2EE\ScalaExample\test_run_dir\AdderTester\202004072142333006115844216379006/AdderTester.v --assert -Wno-fatal -Wno-WIDTH -Wno-STMTDLY --trace -O1 --top-module AdderTester +define+TOP_TYPE=VAdderTester +define+PRINTF_COND=!AdderTester.reset +define+STOP_COND=!AdderTester.reset -CFLAGS -Wno-undefined-bool-conversion -O1 -DTOP_TYPE=VAdderTester -DVL_USER_FINISH -include VAdderTester.h -Mdir D:\J2EE\ScalaExample\test_run_dir\AdderTester\202004072142333006115844216379006 --exe D:\J2EE\ScalaExample\test_run_dir\AdderTester\202004072142333006115844216379006\top.cpp
make: Entering directory '/d/J2EE/ScalaExample/test_run_dir/AdderTester/202004072142333006115844216379006'
g++  -I.  -MMD -ID:/AI/asenv/msys2/usr/share/verilator/include -ID:/AI/asenv/msys2/usr/share/verilator/include/vltstd -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -faligned-new -fcf-protection=none -Wno-bool-operation -Wno-sign-compare -Wno-uninitialized -Wno-unused-but-set-variable -Wno-unused-parameter -Wno-unused-variable -Wno-shadow     -Wno-undefined-bool-conversion -O1 -DTOP_TYPE=VAdderTester -DVL_USER_FINISH -include VAdderTester.h   -c -o D:\J2EE\ScalaExample\test_run_dir\AdderTester\202004072142333006115844216379006\top.o D:\J2EE\ScalaExample\test_run_dir\AdderTester\202004072142333006115844216379006\top.cpp
g++  -I.  -MMD -ID:/AI/asenv/msys2/usr/share/verilator/include -ID:/AI/asenv/msys2/usr/share/verilator/include/vltstd -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -faligned-new -fcf-protection=none -Wno-bool-operation -Wno-sign-compare -Wno-uninitialized -Wno-unused-but-set-variable -Wno-unused-parameter -Wno-unused-variable -Wno-shadow     -Wno-undefined-bool-conversion -O1 -DTOP_TYPE=VAdderTester -DVL_USER_FINISH -include VAdderTester.h   -c -o verilated.o D:/AI/asenv/msys2/usr/share/verilator/include/verilated.cpp
g++  -I.  -MMD -ID:/AI/asenv/msys2/usr/share/verilator/include -ID:/AI/asenv/msys2/usr/share/verilator/include/vltstd -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -faligned-new -fcf-protection=none -Wno-bool-operation -Wno-sign-compare -Wno-uninitialized -Wno-unused-but-set-variable -Wno-unused-parameter -Wno-unused-variable -Wno-shadow     -Wno-undefined-bool-conversion -O1 -DTOP_TYPE=VAdderTester -DVL_USER_FINISH -include VAdderTester.h   -c -o verilated_vcd_c.o D:/AI/asenv/msys2/usr/share/verilator/include/verilated_vcd_c.cpp
/usr/bin/perl D:/AI/asenv/msys2/usr/share/verilator/bin/verilator_includer -DVL_INCLUDE_OPT=include VAdderTester.cpp > VAdderTester__ALLcls.cpp
/usr/bin/perl D:/AI/asenv/msys2/usr/share/verilator/bin/verilator_includer -DVL_INCLUDE_OPT=include VAdderTester__Trace.cpp VAdderTester__Syms.cpp VAdderTester__Trace__Slow.cpp > VAdderTester__ALLsup.cpp
g++  -I.  -MMD -ID:/AI/asenv/msys2/usr/share/verilator/include -ID:/AI/asenv/msys2/usr/share/verilator/include/vltstd -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -faligned-new -fcf-protection=none -Wno-bool-operation -Wno-sign-compare -Wno-uninitialized -Wno-unused-but-set-variable -Wno-unused-parameter -Wno-unused-variable -Wno-shadow     -Wno-undefined-bool-conversion -O1 -DTOP_TYPE=VAdderTester -DVL_USER_FINISH -include VAdderTester.h   -c -o VAdderTester__ALLsup.o VAdderTester__ALLsup.cpp
g++  -I.  -MMD -ID:/AI/asenv/msys2/usr/share/verilator/include -ID:/AI/asenv/msys2/usr/share/verilator/include/vltstd -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -faligned-new -fcf-protection=none -Wno-bool-operation -Wno-sign-compare -Wno-uninitialized -Wno-unused-but-set-variable -Wno-unused-parameter -Wno-unused-variable -Wno-shadow     -Wno-undefined-bool-conversion -O1 -DTOP_TYPE=VAdderTester -DVL_USER_FINISH -include VAdderTester.h   -c -o VAdderTester__ALLcls.o VAdderTester__ALLcls.cpp
ar -cr VAdderTester__ALL.a VAdderTester__ALLcls.o VAdderTester__ALLsup.o
ranlib VAdderTester__ALL.a
g++    D:\J2EE\ScalaExample\test_run_dir\AdderTester\202004072142333006115844216379006\top.o verilated.o verilated_vcd_c.o VAdderTester__ALL.a    -o VAdderTester -lm -lstdc++ 
make: Leaving directory '/d/J2EE/ScalaExample/test_run_dir/AdderTester/202004072142333006115844216379006'
[error] (run-main-0) java.io.IOException: Cannot run program "./VAdderTester" (in directory "test_run_dir\AdderTester\202004072142333006115844216379006"): CreateProcess error=2, 系统找不到指定的文件。
[error] java.io.IOException: Cannot run program "./VAdderTester" (in directory "test_run_dir\AdderTester\202004072142333006115844216379006"): CreateProcess error=2, 系统找不到指定的文件。
[error] 	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
[error] 	at scala.sys.process.ProcessBuilderImpl$Simple.run(ProcessBuilderImpl.scala:75)
[error] 	at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.run(ProcessBuilderImpl.scala:106)
[error] 	at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$anonfun$runBuffered$1(ProcessBuilderImpl.scala:154)
[error] 	at scala.runtime.java8.JFunction0$mcI$sp.apply(JFunction0$mcI$sp.java:23)
[error] 	at scala.sys.process.ProcessLogger$$anon$1.buffer(ProcessLogger.scala:103)
[error] 	at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.runBuffered(ProcessBuilderImpl.scala:154)
[error] 	at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$bang(ProcessBuilderImpl.scala:120)
[error] 	at firrtl.util.BackendCompilationUtilities.executeExpectingFailure(BackendCompilationUtilities.scala:164)
[error] 	at firrtl.util.BackendCompilationUtilities.executeExpectingFailure$(BackendCompilationUtilities.scala:157)
[error] 	at chisel3.testers.TesterDriver$.executeExpectingFailure(TesterDriver.scala:10)
[error] 	at firrtl.util.BackendCompilationUtilities.executeExpectingSuccess(BackendCompilationUtilities.scala:174)
[error] 	at firrtl.util.BackendCompilationUtilities.executeExpectingSuccess$(BackendCompilationUtilities.scala:173)
[error] 	at chisel3.testers.TesterDriver$.executeExpectingSuccess(TesterDriver.scala:10)
[error] 	at chisel3.testers.TesterDriver$.execute(TesterDriver.scala:46)
[error] 	at Adder$.main(Adder.scala:49)
[error] 	at Adder.main(Adder.scala)
[error] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] 	at java.lang.reflect.Method.invoke(Method.java:498)
[error] Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。
[error] 	at java.lang.ProcessImpl.create(Native Method)
[error] 	at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
[error] 	at java.lang.ProcessImpl.start(ProcessImpl.java:137)
[error] 	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
[error] 	at scala.sys.process.ProcessBuilderImpl$Simple.run(ProcessBuilderImpl.scala:75)
[error] 	at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.run(ProcessBuilderImpl.scala:106)
[error] 	at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$anonfun$runBuffered$1(ProcessBuilderImpl.scala:154)
[error] 	at scala.runtime.java8.JFunction0$mcI$sp.apply(JFunction0$mcI$sp.java:23)
[error] 	at scala.sys.process.ProcessLogger$$anon$1.buffer(ProcessLogger.scala:103)
[error] 	at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.runBuffered(ProcessBuilderImpl.scala:154)
[error] 	at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$bang(ProcessBuilderImpl.scala:120)
[error] 	at firrtl.util.BackendCompilationUtilities.executeExpectingFailure(BackendCompilationUtilities.scala:164)
[error] 	at firrtl.util.BackendCompilationUtilities.executeExpectingFailure$(BackendCompilationUtilities.scala:157)
[error] 	at chisel3.testers.TesterDriver$.executeExpectingFailure(TesterDriver.scala:10)
[error] 	at firrtl.util.BackendCompilationUtilities.executeExpectingSuccess(BackendCompilationUtilities.scala:174)
[error] 	at firrtl.util.BackendCompilationUtilities.executeExpectingSuccess$(BackendCompilationUtilities.scala:173)
[error] 	at chisel3.testers.TesterDriver$.executeExpectingSuccess(TesterDriver.scala:10)
[error] 	at chisel3.testers.TesterDriver$.execute(TesterDriver.scala:46)
[error] 	at Adder$.main(Adder.scala:49)
[error] 	at Adder.main(Adder.scala)
[error] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] 	at java.lang.reflect.Method.invoke(Method.java:498)
[error] Nonzero exit code: 1
[error] (Compile / run) Nonzero exit code: 1
[error] Total time: 23 s, completed 2020-4-7 21:42:42
[IJ]sbt:ScalaExample>
Enabling waves...
Starting simulation!
    passed step  0 -- out:  143
    passed step 10 -- out:  216
    passed step 20 -- out:  242
Stopping, end of tests, 31 steps

上面的错误,主要是Windows平台下的可执行文件带了exe后缀,进入目录直接执行exe即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chisel3实践用例,安装 的相关文章

  • 具有两个通用参数的上下文边界

    在 Scala 中 我可以使用上下文边界 def sort T Ordered t Seq T 与以下意思相同 def sort T t Seq T implicit def Ordered T 如果我有一个带有两个泛型参数的类怎么办 IE
  • 更改 build.sbt 自定义任务中的版本

    我在 build sbt 中定义了一个自定义任务 val doSmth taskKey Unit smth doSmth version 1 0 SNAPSHOT 但它不会改变版本 我真正想要的是自定义 sbt 发布任务 它将始终将相同的版
  • 学习 Verilog 的资源 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我是 Verilog 新手 有人可以推荐学习资源 书籍 视频 博客或任何他们有良好个人经验并帮助他们更
  • 具有上限的联合类型

    我正在遵循这个问题的公认答案中提出的技术如何定义 类型析取 联合类型 https stackoverflow com questions 3508077 does scala have type disjunction union type
  • 使用 Scala 获取 Spark 数据集中最新时间戳对应的行

    我对 Spark 和 Scala 比较陌生 我有一个具有以下格式的数据框 Col1 Col2 Col3 Col 4 Col 5 Col TS Col 7 1234 AAAA 1111 afsdf ewqre 1970 01 01 00 00
  • andThen 类型不匹配的 Scala 链接函数

    我有一堆函数可以清理文本并将它们分成单词 最小的例子 val txt Mary had a little nlamb val stopwords Seq a def clean text String String text replace
  • Java 8 Stream,获取头部和尾部

    Java 8 引入了Stream http download java net jdk8 docs api java util stream Stream html类似于 Scala 的类Stream http www scala lang
  • Akka-Streams 收集数据(Source -> Flow -> Flow (collect) -> Sink)

    我对 Scala 和 Akka 完全陌生 我有一个简单的 RunnableFlow Source gt Flow do some transformation gt Sink runForeach 现在我想要这样的东西 Source gt
  • Scala Spark 包含与不包含

    我可以使用 contains 过滤 RDD 中的元组 如下所示 但是使用 不包含 来过滤 RDD 又如何呢 val rdd2 rdd1 filter x gt x 1 contains 我找不到这个的语法 假设这是可能的并且我没有使用Dat
  • Spark 2.2 无法将 df 写入 parquet

    我正在构建一个聚类算法 我需要存储模型以供将来加载 我有一个具有以下架构的数据框 val schema new StructType add StructField uniqueId LongType add StructField tim
  • 如何将 Java 地图转换为在 Scala 中使用?

    我正在开发一个 Scala 程序 该程序调用 Java 库中的函数 处理结果并生成 CSV 有问题的 Java 函数如下所示 Map
  • Scala 案例类忽略 Spark shell 中的导入

    我希望这个问题有一个明显的答案 我刚刚升级到 Spark v2 0 并且遇到了一个奇怪的问题火花外壳 Scala 2 11 版本 如果我输入以下最小的 Scala import java sql Timestamp case class C
  • Java 拥有闭包后 Scala 的优势 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 随着 Java 中添加了闭包 作为语言选择 Scala 相对于 Java 的优势是什么 有人可以详细说明一下有什么优点吗 除了闭包 J
  • 正确使用术语 Monoid

    从下面的例子来看 我认为这样的说法是正确的String在串联运算下定义了一个幺半群 因为它是关联二元运算 并且String碰巧有一个身份元素 它是一个空字符串 scala gt Jane Doe Jane Doe res0 Boolean
  • IntelliJ IDEA 能否正确格式化 scala.html 文件以及如何启用它?

    IntelliJ IDEA 12 Ultimate 和 CE 格式化我的 main scala html 文件中的以下行 在 Play 应用程序中 main css gt As main css gt 是的 真的 它分解了带引号的字符串 我
  • 了解 Spark 中的 DAG

    问题是我有以下 DAG 我认为当需要洗牌时 火花将工作划分为不同的阶段 考虑阶段 0 和阶段 1 有些操作不需要洗牌 那么为什么 Spark 将它们分成不同的阶段呢 我认为跨分区的实际数据移动应该发生在第 2 阶段 因为这里我们需要cogr
  • 如何调用 Scala 抽象类型的构造函数?

    我试图弄清楚如何调用 Scala 抽象类型的构造函数 class Journey val length Int class PlaneJourney length Int extends Journey length class BoatJ
  • 如何使用 Scala 从 Spark 更新 ORC Hive 表

    我想更新 orc 格式的 hive 表 我可以从 ambari hive 视图进行更新 但无法从 sacla spark shell 运行相同的更新语句 objHiveContext sql select from table name 能
  • 数量重新分配逻辑 - 具有外部数据集的 MapGroups

    我正在研究一种复杂的逻辑 需要将数量从一个数据集重新分配到另一个数据集 在例子中我们有Owner and Invoice 我们需要从数量中减去Invoice准确地Owner匹配 在给定汽车的给定邮政编码处 减去的数量需要重新分配回同一辆车出
  • Python 相当于 Scala 案例类

    Python 中是否有与 Scala 的 Case Class 等效的东西 就像自动生成分配给字段而无需编写样板的构造函数一样 当前执行此操作的现代方法 从 Python 3 7 开始 是使用数据类 https www python org

随机推荐

  • 编译qt5.9-arm-qmake

    一 arm gcc环境配置 tar xvf rock3288 kernel arm linux gcc C opt vim basgrc 在最后面添加 export PATH opt gcc linaro arm linux gnueabi
  • Android EditText文本改变监听和获取到焦点的监听

    开发app快两年了 总结了一些小知识 以前没时间发表 最近有时间了 和大家分享一下 别忘记初始化 EditText edtUserName 添加文本改变的监听 edtUserName addTextChangedListener new T
  • VSCode离线汉化教程

    VSCode汉化包下载路径 https marketplace visualstudio com items itemName MS CEINTL vscode language pack zh hans 选择 Version Histor
  • 代码丢了不要怕,有jar包就能反编译找回

    推荐一个好用的反编译工具 直接上下载地址 http jd benow ca 根据自己的电脑下载版本 我下载的是windows版本 压缩包解压运行 打开jar包找到你的代码 注意 如果jar包也没有的就想想该重写了
  • C++类和对象:补充拷贝构造

    前言 如果一个类中什么成员都没有 简称为空类 空类中什么都没有吗 并不是的 任何一个类在我们不写的情况下 都会自动生成下面6个默认成员函数 目录 一 六大函数 1 构造函数 1 定义 2 特性 3 赋值 4 初始化列表 2 拷贝构造函数 3
  • Linux基础命令大全(下)

    作者 小刘在C站 个人主页 小刘主页 每天分享云计算网络运维课堂笔记 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 夕阳下 是最美的绽放 树高千尺 落叶归根人生不易 人间真情 目录 前言 编辑 一 命令到末行模式
  • 今日头条 文章采集_如何利用文章在今日头条引流精准粉

    今日头条这个平台 基本上从事互联网项目的人应该都知道 平台流量本身是非常庞大的 采用大数据算法推荐机制 自动采集判断用户的喜好 并且推荐的量也是非常可观的 对于那些知名作者而言 一篇文章即可拥有几十万甚至数百万的阅读量 这么大的一个流量池摆
  • Java调用Win API

    官方网站 http jawinproject sourceforge net 把lib文件夹下的jawin jar和jawin stubs jar放到 JAVA HOME jre lib ext 目录下 把bin文件夹下的jawin dll
  • 永磁同步电机矢量控制到无速度传感器控制学习教程(PMSM)(一)

    一个阶段的学习结束了 整理了之前的过程中的学习成果 已经过了工作的年纪 在这里稍微出一下自己做的一套永磁同步电机的教程 从基础的矢量控制 到应用性较强的MTPA 弱磁控制等 最后深入到无速度传感器的控制 搜集了三种无速度的方法 足够大家从基
  • html/css笔记 table表格文本垂直水平居中对齐方法

    简介 平时工作中开发经常会遇到html网页样式设计 这里记录一下笔记方便后期查看 也顺便给其他人提供一个参考 HTML 文本垂直水平居中对齐方法 一 css样式 水平居中 text align 应用于块级元素的文本水平居中 text ali
  • React 中ref的几种用法

    React 中ref的几种用法 1 字符串 通过 this refs a 来引用真实dom的节点 dom 节点上使用
  • 结构光相机国产、非国产统计参数对比分析

    结构光相机国产 非国产统计参数对比分析 1 Kinect v1 Kinect v1深度相机拥有一个RGB彩色摄像头 一个红外线CMOS摄像机和一个红外发射器 相机的红外线CMOS摄像机和红外发射器以左右水平的方式分布 该相机采用的是以结构光
  • Unix环境下Oracle数据库完全优化详解

    Unix环境下Oracle数据库完全优化详解 2007 04 19 12 54 02 作者 changelive 浏览次数 14 文字大小 大 中 小 进入论坛 如今的优化己经向优化等待 waits 转型了 实际中性能优化最根本的出现点也都
  • Windows驱动开发第11课(R3与R0通信交换数据第二节)

    在上一节课我们证实了在用户层调用CreateFile函数时 相应的在驱动层会响应一个IRP MJ CREATE的事件 这节课我们来看看用户层和驱动层是怎么交换数据的 首先来介绍一下控制码 由CTL CODE宏创建 是一个唯一的32位系统I
  • 数据库系统原理(第二版)知识点总结

    目录 第一章 概述 基本知识 数据模型 数据模型的组成要素 数据模型的分类 数据库系统的结构 第二章 关系运算 2 1 关系运算语言 1 关系代数语言 第三章 数据完整性 实体完整性 主属性的取值不能为空值 主属性的候选键的取值要非空且唯一
  • Python中的一些特殊函数

    https www cnblogs com maybe2030 p 4678920 html
  • centos7系统启动流程

    开机自检 gt 查找第一启动项设备 gt 加载第一启动项设备上的bootloader 存在于MBR中 gt 加载内核 initramfs gt 只读加载rootfs gt sbin init 即systemd
  • Flask 数据库 连接池、DBUtils、http 连接池

    1 DBUtils 简介 使用 DBUtils 简介 DBUtils 是一套用于管理 数据库 连接池 的Python包 为 高频度 高并发 的数据库访问提供更好的性能 可以自动管理连接对象的创建和释放 并允许对非线程安全的数据库接口进行线程
  • vector 查找_怎么写出无bug的二分查找算法代码

    封面图来自 geeksforgeeks 1 简介 二分查找算法是一类比较基础的算法 然而想要短时间内 写出二分查找的无 bug 版本 也不是很容易的 为此我查找了一些资料 终于弄清了二分查找算法的套路 在此分享给大家 也算是对自己学习知识的
  • Chisel3实践用例,安装

    新建SBT工程 sbt version 1 2 8 name ScalaExample version 0 1 scalaVersion 2 12 8