Takže jestli to dobře chápu tak pokud chceme s kámošem tu knihovnu používat obá dvá na rozdílnejch platformách tak on jí musí 2x zkompilovat...jednou pro 32b a jednou pro 64b ??
Příspěvky odeslané z IP adresy 85.132.178.–
a nějaká jiná cesta neexistuje?
Díky tak jsem se dostal zase o kousek dál, ale pořád ten svůj zdroják nejsem schopen zkompilovat. Zadal jsem parametr -m32 a a -L s cestou k té knihovně, ale ted mi to hlasí, že to nemůže najít -lcrpyto knihovnu, která předtím bezproblémů fungovala
asi jsem se špatně vyjádřil...kámoš vytvářel knihovnu(32b) a já jí chtěl použít(64b)
Ahoj kámoš mi poslal knihovnu, kterou vytvořil a já když jí chtěl použít tak při kompilaci přes gcc v terminálu mi vyskočila hláška o nekompatibilitě, se kterou si nevím moc rady.
gcc foo.c -o main libsfuncs.a -lcrypto
/usr/bin/ld: i386 architecture of input file `libsfuncs.a(sfuncs.o)' is incompatible with i386:x86-64 output
gcc -L/home/honza/foo.c -o main -lcrypto -lsfuncs
/usr/bin/ld: skipping incompatible /home/honza/klient/libsfuncs.a when searching for -lsfuncs
/usr/bin/ld: cannot find -lsfuncs
collect2: ld returned 1 exit status
A jakým způsobem to tedy vyřešit? Pokud chci zapsat data do souboru tak budu pokaždé volat fs_write ne?
Ještě jsem k tomu zjistil, že pokud chci zapsat do některého jiného souboru na disku, který není v mém FS tak se operace povede, ale nenašel jsem důvod, proč to nelze di souboru v mém FS
Problém se mi podařilo částečně opravit, ale při pokusu o uložení zapsaných dat do souboru mi to celé spadne. Soubor se mi podaří otevřít tam chyba není, ale nastává u funkce pwrite(...)
int fs_write(const char* path, const char* buf, size_t size, off_t offset, struct fuse_file_info* fi)
{
if(findPath(path) == -1)
return -ENOENT;
int fd;
char *fPath = myfusepath(lastPath);
fd = open(fPath, O_WRONLY);
if (fd == -1)
return -errno;
int res = pwrite(fd, buf, size, offset);
if (res == -1)
res = -errno;
close(fd);
printf("\nWRITE SE POVEDLO\n\n");
return size;
}
#2 z
funkce v metodě write jsou ty standartní....funkci fs_open naimplementovanou mám...kontroluju v ní jestli existuje cesta kterou chci otevřít a pokud ano tak vracím 0.
static int fs_open(const char *path, struct fuse_file_info *fi)
{
if (findPath(path) == -1)
return -ENOENT;
return 0;
}
Ahoj snažím se pod ubuntu vytvořit vlastní FS, ve kterém by si uživatel vytvářel a mazal složky a soubory a zapisoval do nich. Nejedná se tedy o žádný zrcadlící FS. Mám ovšem problém s operací write. Soubor otevřu a když do něj něco napíšu a chci ho následně uložit, tak se mi vytváří skrytý soubor .goutputstream-XXXXXX a objeví se mi hláška že soubor s cestou nelze najít a Zkontrolujte správnost zápisu umístění a zkuste to znovu.
Hledal jsem všude možně, ale stále nemohu přijít na to jak tuto operaci rozchodit. Nevíte někdo jak na to? Díky
static int fs_write(const char *path, const char *buf, size_t size,
off_t offset, struct fuse_file_info *fi)
{
int fd;
int res;
(void) fi;
printf("\n\nZapisuju do cesty: %s\n\n",path);
fd = open(path, O_WRONLY);
if (fd == -1){
printf("\n\nCHYBA 1: %s\n\n",path);
return -errno;
}
res = pwrite(fd, buf, size, offset);
if (res == -1){
printf("\n\nCHYBA 2: %s\n\n",path);
res = -errno;
}
close(fd);
return res;
}
Ahoj, potřebuju vytvořit svůj vlastní FS do ubuntu(linuxu) pomocí FUSE, ale jediný co jsem k tomu našel je stránka vývojářů s jednoduchým příkladem. Neporadil by mi někdo nějakou literaturu nebo dalí ukázku implementace jak vlastně na to? Díky
Jsem student a hledám dobrého programátora. Mám podnikatelský nápad,. Pocházím z Tábora, tak že by se mi hodilo kdybys byl z okolí, Prahu, ale taky beru. Tak jestli tě to zaujalo, napiš na erikczech@email.cz a dozvíš se víc o tomhle startUpu ...dÍKY
Ahoj mám takovej problém při vykreslování GUI.Všechno se mi v pořádku vykresluje až do chvíle kdy vytvořím komponentu JComboBox a pak mi všechny komponenty, který se předtím zobrazovaly zmizí a objeví se pouze prázdnej JFrame a nemám moc tušení co to způsobuje.Díky za radu
public class ZkusebniOkno {
Data data;
public ZkusebniOkno() {
data = new Data();
JFrame jf = new JFrame();
JPanel jp = new JPanel();
DefaultTableModel model = new DefaultTableModel();
JTable table = new JTable(model);
jf.setVisible(true);
jf.setSize(600, 300);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Create some data
model.addColumn("ID");
model.addColumn("Zanr");
model.addColumn("Interpret");
model.addColumn("Nazev alba");
model.addColumn("Rok vydani");
model.addColumn("Pocet skladeb");
/*
* Pridani tabulky
*/
jp.setLayout(new BoxLayout(jp, BoxLayout.PAGE_AXIS));
jp.add(new JScrollPane(table));
/**
* Pridani komponent na ovladani
*/
JPanel buttnonPane = new JPanel();
buttnonPane.setLayout(new GridLayout(2 , 4));
String[] cb_item= {"ID","Zanr","Interpret","Nazev alba","Rok vydani","Pocet skladeb"};
JComboBox cb = new JComboBox(cb_item);
cb.setSelectedIndex(0);
JButton nacti = new JButton("Nacist(Obnovit) evidenci");
JButton konec = new JButton("Konec bez ulozeni");
JButton ulozit = new JButton("Ulozit zmeny");
JButton smazat = new JButton("Smazat zaznam");
JButton pridat = new JButton("Pridat zaznam");
JButton hledat = new JButton("Hledat...");
nacti.addActionListener(new ButtonListener(model,data));
smazat.addActionListener(new ButtonListener(model,data));
buttnonPane.add(nacti);
buttnonPane.add(konec);
buttnonPane.add(ulozit);
buttnonPane.add(smazat);
buttnonPane.add(pridat);
buttnonPane.add(hledat);
//buttnonPane.add(cb);
Container contentPane = jf.getContentPane();
contentPane.add(jp,BorderLayout.CENTER);
contentPane.add(buttnonPane,BorderLayout.PAGE_END);
table.setAutoCreateColumnsFromModel(true);
}
}
class ButtonListener implements ActionListener {
DefaultTableModel model;
Data data;
ButtonListener(DefaultTableModel model,Data data) {
this.model = model;
this.data = data;
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Nacist evidenci")) {
System.out.println("Nacist evidenci has been clicked");
}
}
if(e.getActionCommand().equals("Smazat zaznam")){
while(model.getRowCount()!=0){
System.out.println("smazu radek");
}
}
}
}
Ahoj chtěl bych se zeptat kde dělám chybu že se mi v tabulce kterou vytvořím neukáže hlavička tabulky tzn názvy jednotlivých sloupců? díky za každou radu :-)
public Okno(){
JFrame frame = new JFrame("Tabulka");
JPanel panel = new JPanel();
DefaultTableModel model = new DefaultTableModel();
model.addColumn("Col1");
model.addColumn("Col2");
JTable table = new JTable(model);
model.insertRow(0,new Object[]{"XXX","xxx"});
model.insertRow(0,new Object[]{"YYY","yyy"});
panel.add(table);
frame.add(panel);
frame.setSize(300,300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
Díky...vyřešil jsem to pomocí odkazu od Dana
To jsem se taky domníval ale když dám
while((p = (Person) fr.readObject())!= -1)
tak jsou zase nekompatibilní typy a nevím jak to na sebe našroubovat
ahoj chtěl bych se zeptat jak udělám to, abych četl ze souboru objekty, který tam mám uložený ale nevim kolik jich je? Otázka teda zní jak poznám že už jsem narazil na konec souboru a dál už nic není?
frJm = new FileInputStream("data.bin");
fr = new ObjectInputStream(frJm);
Person p;
while((p = (Person) fr.readObject())!= null){
System.out.println(p.jmeno+" "+p.prijmeni);
}