build: clFiles support cflags, reuse llvm.Env; cpp/inih: _wrap/reader.cpp
This commit is contained in:
@@ -6,7 +6,7 @@ import (
|
||||
"github.com/goplus/llgo/cpp/std"
|
||||
)
|
||||
|
||||
func main() {
|
||||
func demoFromBuffer() {
|
||||
buf := `[settings]
|
||||
username=admin
|
||||
timeout=100
|
||||
@@ -19,8 +19,10 @@ timeout=100
|
||||
name := std.Str("timeout")
|
||||
value := reader.GetInteger(sec, name, 0)
|
||||
println("value:", value)
|
||||
}
|
||||
|
||||
reader = inih.NewReaderFile(std.Str("config.ini"))
|
||||
func demoFromFile() {
|
||||
reader := inih.NewReaderFile(std.Str("config.ini"))
|
||||
defer reader.Dispose()
|
||||
|
||||
if ret := reader.ParseError(); ret != 0 {
|
||||
@@ -33,3 +35,8 @@ timeout=100
|
||||
println("s:", s.Str())
|
||||
println("isDatabaseEnabled:", isDatabaseEnabled, "port:", port)
|
||||
}
|
||||
|
||||
func main() {
|
||||
demoFromBuffer()
|
||||
demoFromFile()
|
||||
}
|
||||
|
||||
@@ -23,8 +23,8 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
LLGoFiles = "_wrap/reader.cpp"
|
||||
LLGoPackage = "link: $(pkg-config --cflags --libs inih INIReader); -linih -lINIReader"
|
||||
LLGoFiles = "$(pkg-config --cflags INIReader): _wrap/reader.cpp"
|
||||
LLGoPackage = "link: $(pkg-config --libs inih INIReader); -linih -lINIReader"
|
||||
)
|
||||
|
||||
//go:linkname Parse C.ini_parse
|
||||
|
||||
@@ -41,11 +41,13 @@ func (s *Reader) Dispose() {}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
// NewReader creates a new INIReader instance.
|
||||
func NewReader(buffer *c.Char, bufferSize uintptr) (ret Reader) {
|
||||
ret.InitFromBuffer(buffer, bufferSize)
|
||||
return
|
||||
}
|
||||
|
||||
// NewReaderFile creates a new INIReader instance.
|
||||
func NewReaderFile(fileName *std.String) (ret Reader) {
|
||||
ret.InitFromFile(fileName)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user